【问题标题】:SSO Client Authentication in Laravel by using JWT使用 JWT 在 Laravel 中进行 SSO 客户端身份验证
【发布时间】:2018-01-24 00:47:53
【问题描述】:

我正在尝试在 Laravel 上创建一个基于 JWT 令牌的身份验证系统。在项目中,如果用户成功登录,我将向 API 发送登录请求并获取 Web Token。我正在为请求使用 Guzzle 包。

我搜索了很多关于它的文章,但没有一篇是有意义的。

我的控制器:

public function sigin()
{
    $client = new Client();
    $url = "https://localhost:8080/users/login";     

    $user->email = Input::get("email");
    $user->password = Input::get("password");

    $json_data = json_encode($user);

    try{
        $response = $client->request('POST',$url,[
            GuzzleHttp\RequestOptions::JSON => $json_data
        ]);

        // geting the Token in the response object. What should I do after get it 

    }
    catch(ServerException $exception)
    {
        $responseBody = $exception->getResponse()->getBody(true);
    }
}

【问题讨论】:

    标签: php laravel client single-sign-on


    【解决方案1】:

    使用 JWT,您可以使用此令牌从数据库中检索用户。所以把这个令牌放在用户的会话中,每次他做一些与“登录”相关的事情时,将他的令牌发送到你的 API 以检查是否是他。

    【讨论】:

    • 感谢您的回答。将令牌放入会话就足够了吗?我如何保护其他路由未经授权的用户。换句话说,我怎样才能建立一个用户在看到页面之前应该登录的保护系统。
    • 我要做的是检查令牌,如果它不在会话中,我会重定向到登录页面,如果它在那里,我会通过 JWT 检查它是否是正确的令牌。如果不是,你也重定向到登录。
    猜你喜欢
    • 1970-01-01
    • 2017-10-07
    • 2021-07-11
    • 2022-01-01
    • 2016-05-18
    • 2012-01-10
    • 1970-01-01
    • 2022-10-30
    • 2017-01-01
    相关资源
    最近更新 更多