1

我正在创建一个用于使用 IdentityServer 3 的测试应用程序,并且我正在使用 AngularJs、Angular Ui 路由器和 oauth-ng 库来创建它。我的应用程序需要在客户端使用 OpenID 连接授权代码流。所以我对 oauth-ng 库做了很小的改动。

我的测试应用程序成功连接到 IdentityServer3 并获取身份验证代码和状态。但是当服务器重定向到重定向 url 时,我收到 404 错误。以下消息

在此处输入图像描述

但是 URL 中包含授权代码和状态。这是我写的一些代码。

login.html - 登录视图

<oauth
    site="https://localhost:44333/core"
    client-id="codeclient"
    response-type="code" // <= added this attribute
    redirect-uri="http://localhost:4443/redirect"
    scope="openid profile email">
</oauth>

IdentityServer 中的重定向 URL 已正确配置。以下是IdentityServer3返回的url

https://localhost:4443/redirect?code=5d5170f227fd2b90a8d87bdae0588baa&session_state=tWVYj9OnDPYzaN1GmDTsgmdXYMk2AfX5R8JsHEsWZ5Q.cfa44973eb00d05b306b6bc2e286c22e

但是会发生上述错误。Firefox 浏览器在控制台上出现错误,Mixtype Error提示我从 HTTP 切换到 HTTPS。我也尝试过使用以下python 脚本,但这也不起作用。有人可以帮忙吗?

4

1 回答 1

0

您必须设置正确的授权路径。检查我的设置

<oauth
site="https://localhost:44333"
client-id="angular-client-id"
redirect-uri="http://localhost:9000"
authorize-path="/connect/authorize"
response-type="id_token token"
nonce="value"
scope="openid profile {your resource scope}" style="width: 50%">

于 2016-01-08T09:14:48.710 回答