2016-11-16 52 views
2

我想用Authlete設置授權流程,但我似乎無法弄清楚我如何檢索索賠數據。Authlete OAuth端點檢索索賠數據

/認證/授權< - 斬獲我一票

/認證/授權/問題< - 讓我來設置要求的數據和檢索令牌

然而,

/auth /中自省< - 不返回索賠數據(只是索賠列表)

/auth/userinfo < - 不返回索賠數據。

什麼是端點傳遞給身份驗證令牌並獲取聲明數據?

回答

1

/auth/introspection是獲取有關訪問令牌信息的API。其答覆不包括任何有關索賠的信息。

/auth/userinfo是從客戶端應用程序解析對您的UserInfo Endpoint的請求的API。其響應包括您應該從數據庫中檢索其值的索賠列表。

您應該做的下一步是將權利要求的值傳遞給/auth/userinfo/issue API。 API的響應包含一個普通的JSON或一個ID token(這是一種JWT)。 索賠值包含在那裏。

請檢查以下開源代碼庫,看看如何調用Authlete APIs

  1. java-oauth-server(授權服務器/ OpenID提供者)
  2. java-resource-server(資源服務器)
  3. authlete-java-common(包裝庫在Authlete的API)
  4. authlete-java-jaxrs(實用程序庫JAX-RS)

您可以在UserInfoEndpoint.java(位於java-resource-server)中找到UserInfo端點實施的示例。 UserInfoEndpoint類延伸BaseUserInfoEndpoint類(在authlete-java-jaxrs)。

歡迎任何其他問題。我是Authlete的聯合創始人之一,他設計並實現了所有的Authlete APIs :-)

+0

謝謝,我有一個問題,如果我可以在/ auth/authorization/issue調用中設置聲明數據,誰是這種消費者?或者身份驗證令牌流忽略了這些數據,據推測它會通過JWT流提供? – user1432403

+0

@ user1432403我不確定我是否正確理解了您的其他問題,但直接使用來自/ auth/authorization/issue API的響應是您的UserInfo端點實現。您的UserInfo端點實現從API響應中提取'responseContent'的值,並將該值返回給已向UserInfo端點發出原始請求的客戶端應用程序。從這個意義上說,客戶端應用程序是最終的(間接)消費者。順便說一下,「auth令牌流」和「JWT流」是什麼意思? –

0

我猜索賠值應該以字符串傳遞。 (如"claims": "{\"email\":\"[email protected]\",\"email_verified\":true}")如果不是,則不能retrieve索賠data