【发布时间】:2017-04-08 05:14:26
【问题描述】:
我正在使用 Okta 的 API 将 Okta 集成到我自己的 IdP 服务器。
我正在按照以下步骤实现授权代码流:
在我自己的服务器中,使用
/api/v1/authn端点获取sessionToken。使用sessionToken通过调用此端点获取授权:
/oauth2/v1/authorize?client_id=" + clientId + "&sessionToken=" + sessionToken + "&response_type=code&response_mode=query&scope=openid&redirect_uri=" + redirectUrl + "&state=evanyang&nonce="
它应该返回带有状态码 302 的响应,并且带有包含重定向 url 以及 code 值的 Location 标头。
但是,我不断收到带有状态代码 200 且没有 Location 标头的响应,并且 html 正文显示“您使用的是不受支持的浏览器”。和“您的浏览器禁用了Javascript。”
根据 API 文档:http://developer.okta.com/docs/api/resources/oidc.html#authentication-request,sessionToken 参数足以做到这一点:An Okta one-time sessionToken. This allows an API-based user login flow (rather than Okta login UI).
我是否缺少通过 API 获取授权代码的任何额外要求?请帮忙。
在此先感谢 :)
【问题讨论】:
标签: authorization openid okta okta-api openid-connect