角度令牌和用户登录场景

时间:2014-08-28 17:02:47

标签: angularjs rest laravel oauth-2.0 token

我正在构建使用oauth2的app。 我用的是:

  1. Laravel for backend
  2. Laravel的Oauth2(lucadegasperi)
  3. Angular for frontend因为它也是原生移动应用程序:D。
  4. 我的问题是? 用户登录的工作流程是什么?

    现在我有了。

    1. 用户访问网站并输入用户名和密码 访问令牌的角度发送帖子,当返回访问令牌时,我转到用户数据。然后我将access_token存储在localstorage中。我使用grant_type =密码我忘记提及。
    2. 令牌gona到期时我有2个小时。在令牌过期的那一刻,我通过refresh_token功能获取新令牌。
    3. 我的问题是:

      1. 这是好方法吗?

      2. 当用户关闭浏览器时会发生什么? 现在当用户关闭浏览器并再次进入我的应用程序时。我将检查localstorage,然后通过access_token验证用户。如果访问令牌过期,我将获得新的。

      3. 请记住我的选项或者所谓的让我登录? 这是否意味着我必须设置将在365天(终身)过期的令牌? 或使用访问令牌创建cookie / localstorage,以便当用户到达新时间时我读取cookie / loaclastorage然后授权用户?

      4. 最终关于销毁令牌。现在,当我从应用程序登录时,我的令牌将被销毁。

      5. 谢谢

2 个答案:

答案 0 :(得分:0)

我们正在使用相同的组件构建相同类型的服务/应用程序。我们使用密码流并将令牌存储在本地存储中,如果用户勾选"记住我"登录表单上的复选框,否则我只是将令牌存储在一个非持久化变量中,当用户刷新或关闭浏览器时该变量会被销毁。

请参阅此处有关测试受保护端点的一些注意事项:Testing OAuth 2.0 protected API endpoints in Laravel

答案 1 :(得分:0)

马里扬!

我正在处理包含两个单独图层的简单应用。 1)Rails 5 Json API提供程序。 2)运行Angular 2应用程序的独立NodeJS服务器。

  1. Angular 2应用程序登录请求访问来自谷歌的令牌
  2. Angular 2 app从google / people API检索UserInfo
  3. Angular 2 app现在可以使用用户的显示名称和来自Google Response json的一些ID来发布json。
  4. Angular 2 POST json到我的Rails 5 API服务器(部分实现,但已经可以使用login / pass auth)。
  5. 到目前为止,我已使用类似于this Gist的代码实现了隐式OAuth2。使用此代码,我可以获取用户识别信息,这足以让我识别API提供商中的用户或为其创建帐户。

    这种方法适合我。希望它也适合你。

    注意:这种方法可能不安全。