WSO2 Identity Server:如何在oauth之后检索用户的详细信息

时间:2015-07-29 06:13:33

标签: oauth wso2 wso2is

我已将WSO2IS设置为使用辅助用户,并且已成功验证OAuth2对该用户的用户进行身份验证。我还可以看到次要用户的用户'在管理界面中正确配置信息。

但是,在通过OAuth成功进行身份验证后(使用https://developers.google.com/oauthplayground/),我无法为用户检索任何信息。我在/ oauth2 / userinfo?schema = openid查询服务器,但它只返回一个空的JSON对象{}。

如何在使用oauth成功验证后检索用户的个人资料信息?

提前致谢。

1 个答案:

答案 0 :(得分:0)

根据您的方案,您要从谷歌检索用户信息。 新鲜的WSO2IS 5.0.0附带谷歌身份验证器,它基于openid。  但是现在在谷歌中禁用了openid。但是,您可以在WSO2IS中使用openid connect authenticator进行身份验证  谷歌作为谷歌支持openid连接。但是,openid connect authenticator无法从谷歌检索用户信息。  这个新的Google身份验证器已经添加到WSO2IS 5.1.0版本中。

请按照以下步骤操作。

1)创建新的谷歌应用程序

2)使用google开发者控制台启用特定的Google API,并为此应用生成客户端ID和密码 enter image description here

3)转到您已创建的Google身份提供商 请在“联合身份验证器”下找到“Google OAuth2 / OpenID Connect配置”。

4)勾选启用“指定是否为此身份提供程序启用了自定义身份验证器”和 Tick Default“指定自定义验证器是否为默认验证”。

5)相应地填写客户端ID,客户端密钥和回调URL。 (注意:尝试在“console.developers.google.com”下为回调网址和授权重定向URI使用相同的“https://localhost:9443/commonauth”网址 enter image description here

6)然后点击“更新”进行保存。

7)在“声明配置”>下设置身份提供者侧“定义自定义声明方言”的声明。 “基本声明配置”并将“身份提供者声明URI”映射到 “本地声明URI”用于映射Google发送的数据。 enter image description here

8)与身份提供者相同,也为服务提供者设置声明。“声明配置”下的“定义自定义声明方言”> “基本声明配置”并映射“服务提供商声明URI” 使用“本地声明URI”来映射Google发送的数据。

(身份提供者和服务提供者特定声明URI应该等于本地声明URI)