首页 文章

如何使用WSO2 API Manager实施OAuth2授权

提问于
浏览
4

我已经使用WSO2 API Manager创建并发布了API . API客户端通过OAuth2和客户端凭据授予访问权限,发送使用者密钥和使用者密钥以请求访问令牌 . 但现在我需要通过授权代码授权来实现授权 . 我必须使用WSO2 APIM的client_id和client_secret以及我的后端应用程序的用户登录表单,而不是WSO2 APIM用户 .

任何人都可以告诉它是否可能以及如何实施???

WSO2的文档没有描述这个流程,我发现的所有示例都只描述了WSO2 APIM用户的授权过程(OAuth2,authorization_code) .

2 回答

  • 0

    现在我需要通过授权代码授权来实现授权 . 我必须使用WSO2 APIM的client_id和client_secret以及我的后端应用程序的用户登录表单,而不是WSO2 APIM用户 .

    如果您想使用自己的(应用程序)身份验证表单,最简单的选择是利用password grant type,您的应用程序通过后端服务沿应用程序和用户凭据发送令牌请求

    使用代码授权,您可以使用带有documentation中描述的参数的授权 endpoints https://gateway:8243/authorize,并且当用户尚未通过身份验证时,确实会使用默认登录表单

    (我仍然迫切希望不搜索文档的问题)

    如果您仍希望将代码授予类型与您自己的身份验证表单一起使用,您可以自定义wso2 api网关的默认登录表单,也可以自定义身份验证器以使用您的应用程序表单(这是非常高级的主题,需要配置您自己的实现超出问题/答案的范围)

  • 0

    这里有2个选项,没有任何自定义 .

    1)如果您的后端有用户界面,则可以将其配置为APIM的辅助用户界面 . 然后,您可以使用该用户组中的任何用户进行身份验证 .

    https://docs.wso2.com/display/ADMIN44x/Configuring+Secondary+User+Stores

    2)如果无法使用上述选项,并且您的后端IDP支持任何联合SSO协议(如SAML2或OIDC),则可以使用WSO2 IS配置联合 .

    https://docs.wso2.com/display/IS550/Single+Sign-On+and+Identity+Federation

相关问题