2015-01-02 66 views
1

我正在API中實現OAuth 2.0。我們使用JWT進行身份驗證,並刷新令牌以進行僅限客戶端的重新授權。我是否應該要求客戶在POST /token的主體中也提供userId,以便他們必須一起了解用戶和刷新令牌(因此,您不能只嘗試一堆隨機字符串,看看有什麼作用)?標準是什麼?OAuth 2.0刷新令牌是否需要用戶ID

回答

0

如果規範正確實現,猜測一個刷新標記是不應該的; https://tools.ietf.org/html/rfc6749#section-10.4說:

授權服務器必須確保刷新令牌不能 生成的,修改或猜出 未授權方出示有效刷新令牌。

您必須確保您生成具有足夠熵的刷新標記,以便刷新標記的隨機性不會因添加用戶標識而有所不同。或者換句話說,猜測你的刷新標記就像猜測userid +刷新標記一樣困難。除此之外,在POST中添加一個用戶標識會使它實際上比使用用戶標識的長度將隨機字符串添加到刷新標記更具可預測性。

+1

好點。我正在考慮這樣的情景:某人以某種方式獲取訪問令牌但不知道它是誰的身份 - 這種雙因素身份驗證的形式,但我實際上無法想象如果您使用SSL,如果你不使用SSL,他們也會看到userId:P – jtmarmon

+0

是的,如果兩者一起發送,實際上很難看到一個,而不是另一個。同樣的事情將最有可能存儲 –

相關問題