2016-11-16 42 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