2014-12-19 122 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請求,現在後端可以標識散列或標記並激活唯一散列或標記所屬的用戶。所以令牌或哈希與用戶是一對一的關係,只能使用一次,因爲它被使用時會從數據庫中刪除。