问题标签 [owin-security]
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.
asp.net-mvc - 在 MVC 5 中获取 DataProtectionProvider 以正确进行依赖注入
在尝试DataProtectionProvider
手动创建时,我偶然发现了 Microsoft 文档,DpapiDataProtectionProvider
其中说:
用于提供源自数据保护 API 的数据保护服务。当您的应用程序不是由 ASP.NET 托管并且所有进程都以相同的域身份运行时,它是数据保护的最佳选择。
突然出现一个问题:当您的应用程序由 ASP.NET 托管时,最好的选择是什么?
进一步搜索,似乎最好的选择是DataProtectionProvider
从 OWIN 获得。这可以在启动配置中完成,您可以在其中拥有IAppBuilder
和使用AppBuilderExtensions
位于Microsoft.Owin.Security.DataProtection
命名空间中的名称,您可以调用app.GetDataProtectionProvider()
.
到目前为止,我还是很满意的。但是,现在您想DataProtectionProvider
在类的构造函数中注入 (例如 a UserManager
)。我看到了一个建议,您将其存储DataProtectionProvider
在静态属性中,然后在需要的地方使用它,但这似乎是一个相当错误的解决方案。
我认为类似于以下代码的解决方案是合适的(使用 ninject 容器):
openid - OWIN OpenID Connect 中间件是否支持资源所有者流程
我看到的所有使用 Microsoft 的 OWIN OpenID Connect 中间件(即 app.UseOpenIdConnectAuthentication
)的示例都使用授权代码、隐式流或混合流。
该中间件是否也支持资源所有者流程,如果支持,是否有示例?
asp.net - 使用 JwtBearerAuthenticationOptions 时未授权 Web API
我已经从如何使用 jwt 授权的演练中获取了第 2 部分,以便我可以从我的客户端获取访问令牌并授权他们使用 api。但是,我似乎无法让它发挥作用。我不断收到来自 Postman 的 401 消息,并附有:
教程链接:http ://bitoftech.net/2014/10/27/json-web-token-asp-net-web-api-2-jwt-owin-authorization-server/
访问令牌来自我用 Java 创建的授权服务,因此本教程的第一部分不适用于我。
智威汤逊
Web API 代码片段
它与第 2 节中链接上的内容略有不同,但那是因为我没有对我的秘密进行 base64 编码,而且我也没有将颁发者放在我的 jwt 中。
邮差
任何帮助将不胜感激。
谢谢!
asp.net - 未调用 OWIN Cookie 身份验证中的 OnValidateIdentity
我正在使用 OWIN cookie 身份验证中间件,并设置了一个自定义OnValidateIdentity
方法,应该在所有需要进行身份验证的请求上调用该方法。
我的设置如下所示:
我遇到的问题是,对于某些请求,OnValidateIdentity
没有调用。如果我多次点击同一个受保护的 Web API 控制器,一些请求将不会调用OnValidateIdentity
-method。
当我需要使用GetOwinContext().Authentication.User
并且ClaimsPrincipal
未填充时,这会导致稍后在处理中出现问题。
这可能是什么原因?
asp.net-mvc - 我试图澄清三年前关于“从startup.auth到视图ASP.NET的SteamAuth var”的不同答案
我意识到这可能有点老了,但我正在尝试和原来的问题一样。可以在这里看到: SteamAuth var from startup.auth to the view ASP.NET
我已经写了你所有的东西,但是“Steam.Models.ApplicationDbContext()”对我不起作用。
那是只存在于我的项目中的东西,使它成为命名约定错误,还是其他什么?
如果有人知道获取从 app.UseSteamAuthentication(API Key) 返回的信息的方法;那也行。
教程的链接也返回 404 错误。我想看看它是否仍然可用。
谢谢您的帮助。:)
asp.net-mvc - IDX10503:更新到 Owin.Security v 4.0.0 后签名验证失败
根据主题,我将Owin.Security.WsFederation
依赖包更新到 4.0 版,但出现错误。
除了更改之外,我没有进行任何代码更改
至
WsFederationConfiguration
现在上课似乎在哪里。
这是我的StartupAuth:
4.0 还需要验证签名吗?我假设它正在谈论来自发行人的令牌签名。我没有看到如何启用 ShowPII 以查看它正在查看的密钥。
我正在使用带有完整框架的 MVC5。不是核心。
更新:
我尝试修改代码以使用属性文件中身份提供者提供的元数据来创建WsFederationConfiguration
,但我仍然得到相同的错误。我不确定签名是什么,或者如果它不在 idp 元数据中,我从哪里得到它。
更新2:
以下是我在属性文件中使用 sts 提供的 wsfed 元数据所做的更改。(我已经删除了实际的 base64 编码元数据,但不用说它与您从将元数据发布为端点的 STS 中获取元数据时获得的 XML 相同。正如我上面所说,我得到了同样的错误:
asp.net-mvc - AuthenticationTicket 类的标识属性
AuthenticationTicket 类的标识属性不包含外部用户的 UPN 声明。这是预期的行为吗?以前有这个问题吗?https://docs.microsoft.com/en-us/previous-versions/aspnet/mt152195(v%3Dvs.113)
但是,内部用户存在 UPN 声明!
asp.net - 为什么 SerializeTicket() 返回具有资源允许客户端的所有范围的令牌
使用 AspNet 4.6.2 生成访问令牌,使用任何 Auth 流(尝试过 Code Flow、Implicit Flow、Client Credentials Flow),使用AuthenticationTokenCreateContext
来自 的类Microsoft.Owin.Security.Infrastructure
,我观察到一些奇怪的行为。
我们已经实现了一个身份验证服务器,其中资源可以允许客户端请求某些范围,但是,始终返回一个令牌,其中包含客户端能够从该资源请求的所有范围。
相关代码为:
一旦创建,accessTokenCreateContext.Ticket.Properties.GetScope()
返回预期的范围,但是一旦通过该SerializeTicket()
方法创建(JWT)accessToken,令牌就具有客户端能够从资源请求的所有范围。
为什么此方法使用不在票证中的范围序列化票证?
c# - ASP.NET Identity 仅更改密码管理员和删除用户无需电子邮件
我正在尝试实现 asp 身份和 owin 安全性。我实现登录,创建新用户,并在创建新用户时为该用户分配角色。新用户使用用户名和密码NOT EMAIL注册。只有管理员才能添加新用户,因为他只能访问管理员页面。
所以下一个问题是我想允许管理员重置密码和删除用户。我的逻辑是我在 gridview 中列出所有用户(它是私有应用程序,所以它想要太多用户)并用两个按钮来做这件事。所以我得到用户但重置不起作用。
我发现了像这个LINK这样的问题, 但我没有找到任何解决方案。
这是我添加新用户的方法,它正在工作。
我尝试使用此方法重置密码
但它不起作用。
如果有人可以帮助我重置密码或删除用户,我很感激。
问候
更新 1
我以“经典方式”删除用户
考虑到安全问题,我不知道这是一个不错的选择。