【发布时间】:2019-07-20 00:34:00
【问题描述】:
我在同一台机器上有以下设置:
- WSO2-上午
- WSO2-IM-KM(身份管理器作为密钥管理器)
身份管理器将身份验证联合到外部 OpenID 身份提供者。
到目前为止我做了什么:
- 在两个组件之间共享数据库
- 让 WSO2-AM 将身份验证委托给 WSO2-IM-KM
- 将外部提供者配置为生成的服务提供者(在 WSO2-AM 商店中创建应用程序时在 WSO2-IM-KM 中生成)
当前行为:
- 我可以通过调用以下URL获取授权码:https://my.site:9444/oauth2/authorize?response_type=code&client_id=pkYcC4xFQ1jt6dQbdZAe6savv4oa&scope=phone+email+address+openid+profile&redirect_uri=https://my.site:9443/store/jagg/jaggery_oidc_acs.jag&nonce=3734e7d4c22f1&state=128d20e14c884,认证成功,然后
jaggery_oidc_acs.jag端点失败 - 由于
jaggery_oidc_acs.jag端点失败,我手动检索code,然后将POST检索到https://my.site:8243/token,它返回一个access_token、一个refresh_token和一个id_token
我的问题:
- 我应该如何自动化我之前描述的手动步骤?我是否负责创建一个专用端点来执行此操作,以使
authorization_code与客户端混淆,或者 WSO2 中是否有内置端点?如果合适,这个端点是什么? - 是否有生成
oauth2/authorizeURL 的端点?
经过进一步研究:
我发现以下文档https://docs.wso2.com/display/IS540/Authorization+Code+Grant 似乎表明我需要一个“客户端”,但我没有,我只需要通过外部身份提供者对我的 API 进行身份验证。
【问题讨论】:
-
在此错误期间,您在 API 管理器服务器中是否有任何错误日志?我认为日志上应该有一些错误(比如授权相关错误等)
-
你是说 jaggery_oidc_acs.jag 应该可以工作吗?
-
是的。请参阅使用 jaggery_oidc_acs.jag 的docs.wso2.com/display/AM260/…
标签: wso2 wso2is wso2-am openid-connect