2017-02-11 90 views
1

我正在尝试使用Laravel 5.4应用程序对我的单页应用程序(写在Marionette中)进行身份验证。在我以前的经验,一个SPA会:如何使用access_token与Laravel 5.4进行身份验证5.4

  • 发送用户名&密码的/api/login-token端点这将东西返回类似如下:

    { "access_token":"-wt7x8UPRH9GcbTeUQ3wIA7zuc02XeHil4qsoKJcOUU", "type":"Bearer", "expires_in":2570, "refresh_token":"g9zmNkC1zpQ8fM0uSeJdy_VZe7TuBUG4MYGIBuAtXvg" }

  • 的SPA将存储access_token在浏览器的本地存储中,并将其发送到access_token标头中,随后对后端发出的每个请求

  • 后端将认识到这一点access_token和验证

不幸的是,我努力理解如何在Laravel 5.4实现这一目标的用户。

我需要使用护照吗?我真的不认为我需要OAuth2,但Passport是否也提供简单的基于令牌的身份验证?看起来,我已经从/oauth/token端点获得了上述预期的令牌,但我不知道如何使用此令牌。我认为这甚至不是为了这个目的。

我试着发送一个请求到/api/user这个标记在这个标记中,发布它,并作为一个查询字符串,没有运气。另外让我担心的是来自Laravel的expires_in(31536000秒= 365天),这似乎太长了。我担心这个Passport OAuth令牌实际上是用于OAuth2访问,而不是我习惯的1天过期访问令牌。

我也读过关于Laravel的TokenGuard,但这看起来像是存储在user表的api_token列中的一些奇怪的令牌,根据我的想法,这都是错误的。例如,它不会过期,并且它是每个用户而不是每个用户会话,这意味着必须从多个设备使用相同的令牌。 etc

非常困惑......感谢任何帮助!

+0

发现了一些非常有用的代码你与智威汤逊签出认证过?也许这个教程可以激发你一点https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps –

+0

看起来JWT的确是我的答案。作为Laravel的初学者,很难知道包含什么,什么不包含。感谢您的建议!随意让这个答案,我会接受它作为解决方案。 –

回答