【问题标题】:Oauth resource owner password credentials grant type with WSO2 API manager when sso is setup with identity server使用身份服务器设置 sso 时使用 WSO2 API 管理器的 Oauth 资源所有者密码凭证授予类型
【发布时间】:2015-04-21 18:18:05
【问题描述】:

我正在尝试使用 WSO2 API 管理器和身份服务器的 POC。应用程序用户注册到身份服务器上的用户存储。 API 在应用程序将使用的 API 管理器上公开。目标是使用 oauth 资源所有者密码凭据对访问应用程序的用户进行身份验证。用户凭据位于身份服务器上的用户存储中。我为此创建了一个新租户。

我使用this 文档为 API 管理器配置了 SSO。以便用户根据身份服务器用户存储进行身份验证。

试图生成一个令牌来访问 API 管理器上公开的 API。我能够检索令牌客户端凭据授予类型,但不能检索资源所有者密码授予类型。

在这里感谢任何帮助。

【问题讨论】:

  • 另一种方法是获取 SAML 令牌并将其交换为 OAuth 令牌。由于 API 管理器和身份服务器指向同一个用户存储,我假设 API 管理器直接生成 OAuth 令牌也应该是可能的。

标签: oauth-2.0 wso2 wso2is wso2-am


【解决方案1】:

我不认为,您在这里需要 SSO。如果用户需要登录 API store/publisher/APIM 管理控制台,APIM 和 WSO2IS 需要 SSO。我希望您谈论的是最终用户。那么最终用户可能不需要登录 APIM。他们只需要登录您的自定义应用程序,应用程序就会调用 APIM 中的 API。

但是,假设用户需要使用 SSO 登录自定义应用程序,那么您可以在 WSO2IS 和自定义应用程序之间配置 SSO。请参考here。一旦用户登录到应用程序,应用程序就可以使用 APIM 将最终用户的 SAML2 断言与访问令牌交换。然后应用程序可以代表用户使用访问令牌访问 APIM 中的 API。您可以参考this了解更多详情

另外,如果您只是尝试使用 OAuth 进行身份验证,您可能需要使用 openid-connect。 (仅用于登录自定义应用程序)

【讨论】:

  • 感谢您的详细回复。我想使用 OAuth(资源所有者凭据)进行应用程序用户身份验证。如果我需要使用 openid-connect,我需要在 APIM 上进行哪些设置,以便对应用程序用户进行身份验证(针对 IS 商店中的凭据)并颁发令牌。我需要创建和 IDP 或任何其他路线..
猜你喜欢
  • 2016-12-31
  • 2015-09-08
  • 2019-12-08
  • 2016-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
相关资源
最近更新 更多