知道请求的idp是google idp还是wso2 idp

时间:2016-05-27 14:28:26

标签: oauth-2.0 google-api wso2 wso2is

我正在尝试在wso2is中配置两个身份服务器,一个是google idp,另一个是wso2is本身。我的要求是,如果用户选择wso2 IdP,他们将能够从wso2 idp访问用户信息,如果他们选择谷歌IdP,他们将能够从谷歌帐户访问用户信息。所以我的问题是两个idp都有不同的API来生成访问令牌,那么我如何识别选择哪个IdP用户以便我可以生成访问令牌。

1 个答案:

答案 0 :(得分:1)

通过从您的描述中了解您的要求 以下是如何实现自己想做的事情,

  1. 创建一个Google OAuth应用并获取它的client_credentials和client_secret。注册一个callback_url,例如" https://localhost/callbackGoogle"

  2. 将google idp注册为WSO2 Identity Server中的IDP,在Google身份验证器中填写IDP的联合身份验证器部分,其中包含在Google中创建的OAuth应用的详细信息

  3. 在WSO2 IS中创建服务提供商并启用OAuth入站身份验证。注册一个callbackurl" https://localhost/callbackWSO2"

  4. 本地&服务提供商的出站验证配置部分选择高级选项

  5. 在步骤1中添加本地和联合身份验证器

  6. 现在注册两个servlet,一个用于googleIDP的回调网址,另一个用于为WSO2 IS注册的回调

  7. 现在您要求服务提供商提供访问令牌,您将被重定向到具有两个选项(本地IS或Google IDP)的登录页面

  8. enter image description here

    1. 根据用户进行身份验证所选择的IDP,其中一个servlet将被命中,您可以识别出哪个IDP用户可以轻松进行身份验证。
    2. [1] https://docs.wso2.com/pages/viewpage.action?pageId=49092446