2017-05-13 15 views
0

私はクライアント用のlaravel 5でニュースアプリを開発していますが、すでに稼動しているシステムを持っており、ユーザーがニュースアプリにサインインできるシステムに既存のデータベースを使用したいと考えています。彼は私を返すAPIのJSON開発:サードパーティAPIからのデータを使ってAUTH(Laravel)でログインするにはどうすればいいですか?

string(74) "{"Status":1,"Usuario":"John Doe Smith","Mensagem":"Login liberado!"}" 

のか、どのように私はこれらの2つのAPIレスポンスからAUTHを使ってログインすることができ、エラー

string(75) "{"Status":0,"Usuario":" John Doe Smith ","Mensagem":"Senha incorreta!"}" 

場合でしたか?

+0

使用** PHP - ** ** ** CURL機能あなたは、サードパーティのAPIを呼び出すことができます。そのAPIレスポンスに基づいて、laravel Authを使用せずにカスタムミドルウェアのログインを検証できます。 –

答えて

0

(現在のデータベースまたはシーダなどのデータベース・ダンプを使用)Laravelデータベース内の各ユーザのエントリを作成Laravelデータベースに

にユーザーを作成します。利用できるこの情報を使用すると、ユーザーに対して検索を行うためのユーザー名を使用することができます。

$user = User::where('username', '=', $username); 

// Login with model 
Auth::login($user, true); 
// Or with ID 
Auth::loginUsingId($user->id, true); 

これは一例である(その時はかなり安全でないもの)が、私は強くlaravelドキュメントのこの部分を読んで推薦します:

https://laravel.com/docs/5.4/authentication

0

はそれを短くするには:

$response = json_decode($API); 
if($response['Status']){ 
     $user = User::where('username',$response['Usuario']); 
     Auth::login($user); 
     // Do your things here 
} 
else{ 
     return response('Unauthorized',401); 
} 

注:usernameは、あなたのデータベース内のUsuarioが参照している箇所に置き換えてください。すなわち:fullameなど。

関連する問題