如何解决IdentityModel与Microsoft.IdentityModel与System.IdentityModel
我正在使用OWIN在经典的ASP.net MVC应用程序中实现OIDC / OAuth身份验证和授权。对于Microsoft的OIDC中间件不支持的API调用,看来我有一些选择。
- 我可以直接向IdP设计和提出休息请求。
- 我可以使用System.IdentityModel中包含的类。
- 我可以使用Microsoft.IdentityModel中包含的类。
- 我可以安装和使用Dominick Baier和Brock Allen构建的IdentityModel
可能还有其他选择。在这些之中,似乎Dominick和Brock的IdentityModel是最成熟,最先进和最完整的。
鉴于我正在将经典的ASP.net MVC与OWIN结合使用,我是否应该偏爱一种方法,还是需要结合使用以上方法?我将在哪里使用另一个?有什么利弊?
我知道有一些较旧的文章将System.IdentityModel与Microsoft.IdentityModel进行了比较,但是我对2020年的最佳发展更感兴趣。:-)
标记
解决方法
身份模型
对于C#,IdentityModel HttpClient扩展方法为OAuth消息提供了一个很好的外观,就像我的this example class一样。
SYSTEM.IDENTITYMODEL
这里有一些类可以在服务器端Web应用程序中使用,例如,声明/主体。
MICROSOFT.IDENTITYMODEL
其中大多数包含旧的/多余的WS-Federation内容,最好忽略。
OWIN
除了处理OAuth / OIDC消息外,它还对服务器端Web应用程序进行cookie处理。 IdentityModel比基于cookie的更基于令牌。
单页应用
这些天,我个人的喜好是开发Single Page Apps。在此设置中,如果要构建C#API,我将使用IdentityModel库。
摘要
我肯定会使用IdentityModel Client库来处理您引用的额外请求。不过,我认为它不会执行cookie发行,因此也许可以继续使用OWIN Openid Connect。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。