问题标签 [identityserver3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
356 浏览

javascript - 使用 AngulrJs 和 Angular Ui 路由器从 IdentityServer3 重定向时出现错误响应

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

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

在此处输入图像描述

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

login.html - 登录视图

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

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

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

0 投票
2 回答
1286 浏览

javascript - 在 angularjs 中使用 $http.post() 时出现 CORS 问题

我正在创建一个用于使用 IdentityServer 3 的测试应用程序,并且我正在使用 AngularJs、Angular Ui 路由器和 oauth-ng 库来创建它。我的应用程序需要在客户端使用 OpenID 连接授权代码流。所以我对 oauth-ng 库做了很小的改动。我正在使用 oauth-ng lib 从 IdentityServer3 检索授权代码,并且我正在使用 $http.post() 将该代码发送到令牌端点并获取 access_token。

以下是我的代码..

JavaScript

授权代码已成功检索,当我尝试连接到令牌端点时,它会在浏览器上引发以下错误。

选项https://localhost:44333/core/connect/token b @ angular.min.js:87n @ angular.min.js:82$get.f @ angular.min.js:80(匿名函数) @ angular. min.js:112$get.n.$eval @ angular.min.js:126$get.n.$digest @ angular.min.js:123$get.n.$apply @ angular.min.js:126 (匿名函数)@ angular.min.js:17e @ angular.min.js:36d @ angular.min.js:17uc @ angular.min.js:18Jd @ angular.min.js:17(匿名函数)@ angular .min.js:250n.Callbacks.j @jquery.min.js:2n.Callbacks.k.fireWith @jquery.min.js:2n.extend.ready @jquery.min.js:2I @jquery.min.js :2

XMLHttpRequest 无法加载https://localhost:44333/core/connect/token。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://localhost:8000 ”。响应具有 HTTP 状态代码 405。

然后我尝试使用这行代码在应用程序配置中配置 $httpProvider。我的配置看起来像这样。

仍然遇到同样的问题。如何从客户端解决此问题?我可以从客户端解决这个问题吗?

0 投票
1 回答
284 浏览

ws-federation - IdenitityServer WsFederation 声明

我正在使用 WsFederation 协议使用外部 IdentityProvider 设置 IdentityServerv3。

为了添加提供者,我遵循了代码,但我不明白如何阅读该提供者返回的声明,如姓名、名字、照片。

我知道例如照片应该是:fedict:eid:idp:photo

0 投票
0 回答
874 浏览

javascript - Angular $http.post() 请求作为 OPTIONS 发送到 IdentityServer v3 Token Endpoint

我有一个示例应用程序可以在客户端使用 IdentityServer v3 和 OpenID Connect 授权代码流进行授权。我可以成功获取authorization_codeandsession_state但是当我调用令牌端点时出现问题。令牌端点响应Invalid HTTP status code 405

这是 Angular.js 配置的代码。

Angular.js

应用程序.js

登录控制器

我手动将授权标头设置为Basic编码client_idclient_secret. 当发送 POST 请求时,服务器返回 405 响应。Chrome 开发者工具网络部分的屏幕截图在这里。

在此处输入图像描述

但是,当我没有手动设置标头时,POST 请求会正确发送,并且服务器会返回invalid_client错误,因为它无法在没有标头的情况下对客户端进行身份验证。IdentityServer v3 Trace.log 消息如下。

使用手动设置授权标头

无需手动设置授权标头

我做了一些研究,发现这与 CORS 有关,这是由于预检检查我的客户是否可以访问我正在调用的端点。我怎样才能避免这种情况并将 POST 请求按原样发送到令牌端点。

0 投票
1 回答
3123 浏览

asp.net - 如何使用 IdentityServer v3 保护 IdentityManager

Brock Allen上周发布了IdentityManager的新测试版。安全模型发生了相当大的变化,因此配置也发生了变化。

他甚至拍摄了一些关于如何正确配置新版本的视频(设置 ASP.NET Identity and Security 和 IdentityManager )。这些很好地解释了经典 ASP.NET MVC 应用程序中的用法以及 ADFS 设置,但我找不到任何帮助或示例代码来说明如何使其与Identity Server v3一起工作。

您能否分享您在 IdSrv3 的帮助下配置 IdMgr 的远程访问的经验?

0 投票
1 回答
594 浏览

angularjs - Angular JS 混合流的实现

我需要一些实施指导,我在服务器端有一个带有 ASP.NET Web API 的 AngularJS 客户端。这里有一些问题: 1. 我已经实现了隐式流程,我可以从 IdentityServer 获取 id_token 和 access_token。我想知道我们是否可以实现允许刷新令牌的混合流?2) 在 JavaScript 客户端上处理会话管理的正确方法是什么?

0 投票
3 回答
7444 浏览

openid - 跳过 IdentityServer3 登录屏幕

我们已将客户端应用程序配置为通过 OpenID Connect 协议使用 IdentityServer3 身份验证(它是使用 OWIN 中间件支持 OIDC 的 ASP.NET MVC 应用程序)。

IdentityServer3 本身被配置为使用本地登录和外部登录(例如 Azure AD)。

在常规流程中,一旦应用程序需要对用户进行身份验证,它就会将他重定向到 IdentityServer3 登录屏幕——这很好。但在某些情况下,在每个请求的基础上,我想通过某种方式让 IdentityServer3 知道用户想要立即使用特定的外部身份提供者登录来绕过登录屏幕。

那有可能吗?

图片

0 投票
1 回答
4874 浏览

asp.net - UseIdentityServerBearerTokenAuthentication 不适用于 IdentityServer3

我使用了 IdentityServer v3,现在我希望一个网站既是身份主机又是 Web api 主机。

授权选项不用于验证令牌。我已经验证了令牌端点并且令牌验证端点按预期工作(我可以使用邮递员获取和验证令牌)。我使用 [Authorize] 属性来装饰我的控制器方法。在 IdentityServer 上启用了完整日志记录,当发出标头名称为“授权”且值类似于“Bearer mytokenhere”的 api 请求时,不会记录任何内容。

这是一个使用 Visual Studio 2015 CTP6 的 ASP.NET 5 上的 vNext 网站。

还有我的 project.json

我的依赖:

在我看来,提供的一些示例由于基于 cookie 的选项而起作用。我不想使用cookies。

0 投票
1 回答
2811 浏览

identityserver3 - 为什么我们的 IdentityServer3 实例上的 AccessTokenValidation 这么慢?

我们设置 IdentityServer3 来发布一个引用令牌,所以当我们调用我们的 Web API 时,它会回调 IdentityServer 以验证 /sts/connect/accesstokenvalidation 中的访问令牌。

在我们的生产环境中,该调用通常会异常缓慢——在 10 到 20 秒之间。

这是一个示例跟踪:

缓存命中/未命中行是可疑的。

关于下一步加快访问令牌验证的任何想法?

0 投票
2 回答
2122 浏览

ajax - MVC 和 Identity Server 中的 AJAX 调用

我一直在使用 Thinktecture IdentityServer3,并且很想使用它,因为它看起来很棒。但是,我不完全了解如何完成我的流程,这可能相当普遍:

  • 使用隐式流创建身份服务器
  • 设置 MVC 网站
  • 设置单独的 Web API

到目前为止一切顺利,如网站上的示例所示。我现在希望直接使用 AJAX 调用来调用 API,但为此我需要一个访问令牌。必须通过 MVC 站点本身来路由这些似乎是一个很大的开销(同样,在示例中)。

我怎样才能完成这个流程?它会本质上融合 MVC 和 Javascript 客户端示例,还是有更流畅的方式让用户只需登录一次?也许在隐藏字段中发送访问令牌,但它会如何更新?

对理解这一点的任何帮助都会很棒。