2016-12-15 2 views
1

を登録します。Laravel認証、外部データと、私は、このコマンドを考え出すLaravel 5.2認証システムを使用しています

php artisan make:auth 

であるとして、これは完全に正常に動作しますが、私の目標は、実行するために、外部APIを使用することですログイン、パスワードの登録と変更は、Authクラスのコア機能を使用することができます。

ですから、例えば、ログインを取って、私はちなみに

function login(ApiController $api) { 
    // This function return data or error code and message in JSON 
    $login = $api->login([ $credentials['email'], $credentials['password']]); 
    if($login->success) 
     // login successfully like normal Auth would do 
    else 
     // redirect to main page with $login->message 
} 

のようなものを使用したい、私たちは実際に認証を行うことができますように、認証クラスに$ログインから上がってくるのフィールドを渡したいです: :私は電子メールを私に電子メールを与える電子メール、私は "データベースフィールド"のような値を設定したいが、私のAPI JSONフィールドの背後に

私はインターネットで見て、AuthControllerと何かの中で何かを発見ServiceProviderに送信しますが、私の正確なニーズに従う方法はわかりません

答えて

0

私は私自身の認証システムをコーディングすることになった...

session()とInput()を使用する

+0

あなたはもっと多くの情報を与えることができますか、または概念コードのPrrofをパブリックレポのどこかに置くことができますか? – gandra404

+0

こんにちは@ gandra404、私はミドルウェアのセッション(loginNumber)が存在するかどうかを確認して、それに対処しました。セッションは、ログインフォームによって、外部APIとの資格情報の妥当性を単にチェックする機能を介して行われます。 – Plotisateur

+0

情報ありがとうございます。 セッションを保存する場所(loginNumber)? – gandra404

2

この場合、カスタムユーザープロバイダを追加すると役立ちます。ここでAuthControllerで遊ぶ必要はありません。チェックthis Laravel Docs page

あなたは、Illuminate\Contracts\Auth\UserProviderを実装する新しいユーザプロバイダを作成AuthServiceProviderでそれを指定し、それに応じて認証設定ファイルを更新する必要があります。ここで

は、参考のためのフレームワークのデフォルトのユーザー・プロバイダへのリンクです:

1)DatabaseUserProvider

2)EloquentUserProvider

+0

こんにちは、方向はありがとう。私はこのチュートリアルのhttps://blog.georgebuckingham.com/laravel-52-auth-custom-user-providers-drivers/に従っていましたが、その後私のニーズに合うように関数を使用する方法を得ることができませんか? – Plotisateur

+0

プロバイダの機能を満たす方法は? – Plotisateur

+0

Auth APIで再生するコードがここにあります。 [docsページ](https://laravel.com/docs/5.3/authentication#adding-custom-user-providers)で少しスクロールすると、カスタムユーザープロバイダの各メソッドに正確にどのような情報が入るかに関する仕様があります。 – Gaurav

関連する問題