1

Cartalyst Sentinel で電子メール/リンク/コードを介してユーザーを認証する方法はありますか?

サインアップ後にアクティベーションメールを送信するLaravel 5.1で簡単なユーザー登録を作成しています。リンクをクリックして、同じアクションでユーザーのアクティブ化と認証を行いたいのですが、それができていません。

Sentinel::($credentials)唯一の方法は資格情報 ( )を渡すことのようですが、有効化に必要な$codeand$idがあり、パスワードを要求されます (ちなみに、電子メールで送信するのは少し安全ではありません)。

これを行う方法はありますか?前もって感謝します!

4

1 に答える 1

3

ユーザー オブジェクト (とにかくユーザーのアクティブ化を完了する必要があります) を持っているか取得できる場合は、login()を使用して、資格情報なしでユーザーをログインできます。

$user = Sentinel::findById($id);

Sentinel::login($user);

プロセス全体は次のようになります。

$user = Sentinel::findById($id);

if ( ! Activation::complete($user, $activationCode))
{
    // ERROR - Invalid or expired activation code.
}

// Login the User
Sentinel::login($user);

// Redirect to where you want to take them
于 2015-08-04T04:13:51.763 に答える