2016-04-07 5 views
0

私は現在Angular(フロントエンド) - Laravel(API)アプリケーションを開発中です。ユーザー資格情報を試さずにJWTでトークンを取得するLaravel?

現在、ログインにはストアドプロシージャを使用していますが、ログインが成功した場合は、クライアント側にJWTトークンを送信したいと考えています。これはJWTの試行方法を呼び出すことなく可能ですか? JWTにはのようなものがありますか?JWT :: getToken($ mail);メソッド?私がこれを行うことができない場合、他の回避策はありますか?

$mail = $request['email']; 
$password = $request['password']; 

$query = new Query("CALL SP_USER_LOG_IN(?,?, @outputMessage)"); 
$query->addParameter(1, $mail); 
$query->addParameter(2, $password); 

$outputMessage = DB::executeQuery($query); 

if($outputMessage === null) 
{ 
    //It means the login was successful 
    $token = JWT::getToken($mail); 

    return ["error" => NULL, "token" => $token]; 
} 
else 
{ 
    return ["error" => $outputMessage]; 
} 

NOTE

私はちょうどJWTを知った私は、フロントエンドに光角度のアプリケーションで働いているので、それは本当に良い解決策のように見えます。しかし、私はストアドプロシージャを使用する必要があるので、私は進める方法がありません。

+0

あなたはJWTを生成するためにパッケージを使用していますか? – jfadich

+0

はい私はそうです。現在JWTをLaravelに使用しています – ggderas

+0

もう少し具体的にできますか?多分パッケージ名やリンクですか? – jfadich

答えて

2

ユーザーを確認したら、データベースから取得し、fromUser($user)というトークンを作成します。

if($outputMessage === null) 
{ 
    //It means the login was successful 
    $user = User::where('email', $mail)->first(); 
    $token = JWT::fromUser($user); 

    return ["error" => NULL, "token" => $token]; 
} 
+0

あなたは人生を救った!ありがとうございました!これは魅力のように機能します! – ggderas

関連する問題