2014-12-19 167 views
3

我绝不是一个oauth2专家,我很乐意提供建议。我已经设置了一个Oauth2服务器,并且在从应用程序注册新用户时遇到流程问题。oauth2服务器用户注册

用户注册表单位于客户端上,而不是位于oauth2服务器上。

1.USER去example.com/register

2.用户在填写表单和点击发送

3.我将请求发送到我的OAuth 2与client_credentials补助和范围服务器代表客户端/应用程序接收令牌。

  1. 我使用前一个请求中的令牌向POST/users/register发送一个带有表单值的请求。

  2. 如果注册失败,我将验证规则列在json数组中。

6.如果注册成功我使用最初用来产生用于user.This的新的访问令牌范围然后returned.The用户也被标记为在db无效。

7.我必须以某种方式激活用户,并使用我的用户令牌发送GET/users/activate的请求。

我的问题是,这个流程听起来是否正确,我应该发送什么作为激活电子邮件的链接?

您的回复,将不胜感激。

+0

我可以提供更多的清晰度吗? – user1005319 2014-12-22 18:12:09

+0

这是否工作?利用我有限的OAuth知识,您应该拥有资源所有者和资源,以在第3步授予令牌,但是您在第4步创建了用户。 – eugene 2017-02-13 13:03:11

回答

3

后点6.当创建新用户时,后端应该创建一些唯一字符串或代码或(令牌或散列),用于激活用户。然后在电子邮件中可以像在URL之后链接/ users/activate /(令牌或散列)(作为路径参数)。现在当用户点击它时,它会使用唯一的散列或标记向您的端点发出GET请求,现在后端可以标识散列或标记并激活唯一散列或标记所属的用户。所以令牌或哈希与用户是一对一的关系,只能使用一次,因为它被使用时会从数据库中删除。