问题标签 [aspnet-contrib]

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 回答
1122 浏览

oauth-2.0 - Asp.Net Core、JWT 和 OpenIdConnectServer

我正在尝试了解有关 Asp.Net Core 中 JWT 令牌的所有这些内容。在因大量误解而流血工作后,我陷入了困境。我的任务是制作带有两个控制器(受保护和不受保护)的 WebApi 服务器。我应该从服务器授予令牌并能够获得受保护的资源。当我运行服务器并尝试从邮递员那里获取受保护的资源时,一切似乎都很好。但是当我在我的 Angular 客户端做同样的事情时,从另一个域我有奇怪的事情。我可以获得不受保护的资源,并且由于以下错误而无法获得受保护的资源:

XMLHttpRequest cannot load http://localhost:10450/api/prvalues. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:10377' is therefore not allowed access.

为了清楚起见,我展示了我所有的尝试。我的 project.json 看起来像

我的 Startup.ConfigureServices()样子

公共无效配置服务(IServiceCollection 服务){

AuthManager 和 AuthStore 是从 OpenIddict 中窃取的。我稍后会展示给他们看。我的 Startup.Configure()样子:

最后,我的AthorizationProvider.GrantResourceOwnerCredentials()(我使用 AspNet.Security.OpenIdConnect.Server)是:

我已经展示了所有我认为可能导致问题的代码。对不起,如果它很长,但我不知道女巫部分会导致问题。

要访问我的 protecetd 资源(简单地用 装饰[Authorize]),我使用来自 Angular 客户端的此类虚拟代码

正如我所说,我对此类请求有错误。但是,如果我尝试获取不受保护的资源([Authorize]从控制器中删除属性),一切正常。

0 投票
1 回答
1199 浏览

angularjs - 如何在 Web 应用程序中实现刷新令牌 - angularjs

我在我的网络应用程序中使用基于令牌的安全性。服务器端是使用 c# 编写的,我使用 openiddict 登录和发布令牌,在此处找到。我在货币上使用隐式流。

默认情况下,我的令牌的有效期为 1 小时,之后您必须再次登录。我已将我的 API 锁定为仅接受不记名令牌而不接受 cookie。

我想实现刷新令牌,但在阅读了许多网站之后,似乎在 Web 应用程序上实现刷新令牌并不是一个好方法,因为黑客获取了刷新令牌。我知道要使用刷新令牌,您必须使用代码流,而不是隐含的,我可以这样做。

人们如何在他们的网络应用程序中解决这种情况?我不能是唯一一个希望令牌在 Web 应用程序中持续超过一个小时的人吗?

0 投票
1 回答
389 浏览

asp.net-core - 构建 AspNet.Security.OpenIdConnect.Server 时出错

我正在尝试构建AspNet.Security.OpenIdConnect.Server,但出现以下错误:

.NETStandard,Version=v1.3 error NU1002: The dependency System.Security.Cryptography.OpenSsl 4.0.0-rc3-23911 in project AspNet.Security.OpenIdConnect.Server does not support framework .NETStandard,Version=v1.3.

netstandard1.3如果我在projects.json项目构建中删除对的引用而没有错误。

1.0.0-rc2-16595在 Windows 上使用最新的不稳定 DNX ( )。

谁能帮我弄清楚发生了什么?

提前致以问候和感谢!

0 投票
1 回答
2455 浏览

asp.net - 项目中的依赖OpenIddict不支持框架DNXCore,Version=v5.0

我做了所有被告知的事情[关于 OpenIddict 入门教程]

  • 我跑了 dnvm 升级
  • 我已将所有给定的源添加到 Nuget.Config
  • 在 project.json 依赖项中添加了 "OpenIddict": "1.0.0-*"

这就是当我将鼠标悬停在 project.json 中红色“OpenIddict”依赖项下划线时 Visual Studio 所告诉的内容:

项目 [...] 中的依赖项 OpenIddict 1.0.0-alpha2-0161 不支持框架 DNXCore,Version=v5.0

清理项目和恢复 nuget 包没有帮助。我应该怎么做才能让它工作?

编辑:

项目.json:

0 投票
0 回答
646 浏览

asp.net-core - asp.NET 5 MVC6 承载令牌授权

我需要一个网站来使用不记名令牌验证其对 API 的请求。相同的令牌可用于所有请求,因为该站点是公开的,因此无需用户登录。

我一直在使用来自AspNet.Security.OpenIdConnect.Samples和其他 SO 问题的一些混搭。

API 启动.cs

授权服务器提供者

客户端启动.cs

现在当OnAuthorizationAsyncinAuthenticationFilter被调用时,AuthorizationContext.HttpContext.User.Claims它是空的,所以我无法检查这些值。

0 投票
1 回答
143 浏览

c# - IServiceProvider rc2-20215 必须引用 System.ComponentModel 4.0.1

我以为我会升级我的 dnvm(希望我现在从来没有这样做过),最新版本现在是 rc2-20215。我已经设法修复了几件事情,但有一件事似乎是一个错误,或者我可能遗漏了什么,是 IServiceProvider 现在需要对 System.ComponentModel 4.0.1 的引用吗?为什么?

现在,如果我将它添加到我的 project.json 文件中,它仍然会显示错误。

如果我将它添加为 frameworkAssembly,我无法获得 4.0.1 版本,只有 4.0.0 版本。

这是我的 nuget.config

如您所见,我的 global.json 文件是这样的

这是开始的错误消息

在此处输入图像描述

尝试将此添加到 project.json 文件中,但仍然存在与上述相同的错误

在这里你可以看到当我将它添加到 frameworkAssembly 时找不到版本 4.0.1.0

在此处输入图像描述

还有其他人遇到过这个问题吗?我知道,您会在“预发布”软件中遇到这些问题 :)

0 投票
1 回答
247 浏览

c# - 使用 openiddict 时如何避免使用微软的 Microsoft.AspNet.Identity 包

我正在关注这个精彩的教程http://capesean.co.za/blog/asp-net-5-jwt-tokens/
它运行良好。问题是,我想使用自己的用户管理代码来验证给定的用户名、密码以检索访问令牌和刷新令牌。
本教程(以及https://github.com/openiddict/openiddict-core/tree/dev/samples上的示例)使用专有Asp.net Identity
如何配置 Startup.cs 类中给出的配置以使用我自己的用户管理代码?
例如....

谢谢

0 投票
1 回答
771 浏览

asp.net - 如何更改 asp.net core 1 中的令牌响应?

我正在使用 JWT 令牌和 OpenIdConnectServer。一切都很好,但我无法在令牌响应中添加自定义属性......结果如下:

我想添加一些属性,例如用户名或角色...我正在尝试通过 AuthenticationProperties 添加,但它不起作用。这是我的代码:

0 投票
1 回答
1764 浏览

entity-framework - 为 OpenIddict 配置 DbContext

我在我的 .NET Core 应用程序中使用OpenIddict进行 JWT 令牌身份验证。我已按照本教程进行操作,但现在收到以下错误:

我的ConfigureServices方法Startup.cs

不知道该怎么做,因为我无法在使用AddIdentity.

我的连接字符串很好,在添加 OpenIddict 之前一切正常。

更新 这是我的appsettings.json文件:

我的数据库上下文:

0 投票
2 回答
1149 浏览

asp.net - 允许匿名访问 .well-known 目录

请耐心等待:我对这一切都很陌生

我正在将 openid connect 与该公司开发的一对应用程序集成在一起。

我们正在使用自定义/公司特定的 openid 连接库,我认为这些库本质上是围绕 Microsoft.Owin.Security.OpenIdConnect 和 Owin.Security.OpenIdConnect.Server 的包装器

在 idP 应用程序 web.config 中,我们有类似的内容:

加上一堆位置节点来允许/拒绝访问特定页面/资源

问题是,当用户未登录(或者,它似乎正在登录过程中)时,当 openid 连接的东西尝试访问 /.well-known/openid-configuration 时,响应是 302 重定向到登录页

显然,当需要 JSON 响应时,这会导致问题

我尝试将位置节点添加到 web.config:

(我也尝试使用 path = "~/.well-known")

但我仍然被重定向到登录页面

需要明确的是,idP 应用程序中没有实际的目录 /.well-known;该文件似乎是在 Owin.Security.OpenIdConnect.Server 中的某处构建的。