gpt4 book ai didi

c# - DotNetOpenAuth2 中的单个 AuthZ/AuthN 端点

转载 作者:行者123 更新时间:2023-11-30 23:13:07 24 4
gpt4 key购买 nike

我正致力于实现一个身份验证服务器,该服务器将为我们公司生产的 Web 应用程序提供单点登录,目前我正在使用 DotNetOpenAuth2。我的问题是 DNOA 是这样工作的(摘自 Badrinarayanan Lakshmiraghavan 的 Apress 书 Pro ASP.NET Web API Security)

DotNetOpenAuth Protocol

但我希望它像这样工作(我编辑的这张图片):

enter image description here

有没有办法让它做到这一点,或者我应该使用另一个框架?我想这样做是为了让以后的开发人员更容易理解安全性。以下解释了为什么这很适合我的目的。

我们所有的网络应用程序都支持 HTTPS,并且在 2 个父域中的 1 个域下(因此每个网络服务器都有 2 个 x509 证书,在 *.domain1.com 或 *.domain2.com 等子域上支持 SSL)。

我的计划是使用现有证书作为隐式共享 secret 来加密 DotNetOpenAuth2 类型转换的 token 。因此,在创建 token 时,AuthorizationServerAccessToken.ResourceServerEncryptionKey 将是 SSL 证书的公钥,而 AuthorizationServerAccessToken.AccessTokenSigningKey 将是 SSL 证书的私钥。

这样我的任何服务器都能够以安全的方式解密用户 token 并从中提取授权声明。鉴于该方案的简单性,我只想要一个接收用户名和密码并返回加密 token 的身份验证端点。

似乎这种简化使事情更安全也更容易实现。特别是因为我们可以取消随机数。一个可能的弱点是,获得 Web 证书私钥访问权限的攻击者也将能够欺骗用户身份验证 token 。但似乎假设您的 SSL 证书没有受到损害是好的安全实践,因为 Web 应用程序的安全性通常完全取决于该假设。无论如何,我不会在 token 中存储敏感信息,只是权限标志。

最佳答案

您的图表的主要目的似乎是删除授权代码交换步骤并仅提供访问 token 。这是一个相关的 post我建议阅读以说服自己这一步的用处。另外,你真的想创建自己的类似 OAuth2.0 的授权协议(protocol)只是因为 OAuth2.0 令人困惑吗?我认为随着越来越多的开发人员采用 OAuth2.0,这些概念将开始变得不那么陌生。

关于c# - DotNetOpenAuth2 中的单个 AuthZ/AuthN 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43770009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com