Ich bin beeindruckt, wie einfach es war, eine REST-API in Yii2 zu erstellen. Allerdings habe ich ein kleines Problem, die Basic Authentication zu verstehen. Meine Bedürfnisse sind äußerst einfach und ich möchte, dass meine Lösung dem Beispiel folgt.Yii2 REST Simplify BasicAuth
Ich brauche hier grundlegende Token-Authentifizierung. Ich bin noch nicht einmal dagegen, es vorläufig zu kodieren, aber hier ist, was ich bisher gemacht habe.
Ich habe meine Datenbank-Tabelle Singular Token ApiAccess (id, access_token)
ApiAccess.php zu halten - Modell - Hinweis: IDE zeigt Syntaxfehler auf dieser ersten Zeile
class ApiAccess extends base\ApiAccessBase implements IdentityInterface
{
public static function findIdentityByAccessToken($token, $type = null)
{
return static::findOne(['access_token' => $token]);
}
}
Modul .php - in Funktion init()
\Yii::$app->user->enableSession = false;
I hat diese ApiContro ller, die jeweils nachfolgenden Nomen
ApiController.php
use yii\rest\ActiveController;
use yii\filters\auth\HttpBasicAuth;
use app\models\db\ApiAccess;
class ApiController extends ActiveController
{
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['authenticator'] = [
'class' => HttpBasicAuth::className(),
];
return $behaviors;
}
}
erstreckt Wie es aussieht, ein api Endpunkt im Browser Zugriff auf aufgefordert, einen Benutzernamen und ein Passwort. Anfrage über REST-Client zeigt Zugriffsfehler an.
Wie binde ich HttpBasicAuth korrekt mit meinem ApiAccess-Modell?
ODER
Wie hart codieren ich einen api Zugriffstoken? (Erste Option ist offensichtlich am besten)
Ich habe das funktioniert, und sehen, wie es jetzt funktionieren soll. Vielen Dank. Ich habe immer noch ein Problem im Zusammenhang mit der LDAP-Authentifizierung, die nur für dieses Modul vorhanden ist. Ich werde eine separate Frage stellen, wenn ich sie nicht alleine lösen kann. – Joshua
Das findOne verschlüsselt das Passwort nicht, um zu sehen, ob es mit password_hash übereinstimmt - wie integriere ich validatePassword mit findOne? – Cymbals
@Cymbals http://www.yiiframework.com/doc-2.0/guide-security-passwords.html –