ASP.NET MVC 5 中的“通用”OpenID

2024-01-31

我尝试了 ASP.NET MVC 5 中的新身份验证功能(我之前使用过DotNetOpenAuth).

我知道内置的 Google 提供程序使用 OpenID [1](并且工作正常),但我想在身份验证时使用我自己的 OpenID 提供程序。

不幸的是,我无法找到一种简单的方法来利用 ASP.NET MVC 5 的开箱即用功能来完成此任务。我查看了源代码Microsoft.Owin.Security.Google基于此,似乎很有可能添加一个新的 OpenID 提供商。

是否有更简单(可能已经内置)的方法将新的 OpenID 提供程序添加到 ASP.NET MVC 5 应用程序?或者我必须从头开始编写一个(一个新的 Owin 中间件)?

[1] http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on
[2] http://www.symbolsource.org/MyGet/Metadata/aspnetwebstacknightly/Project/Microsoft.Owin.Security.Google/2.0.1-rtw1-20924-641-dev/Release/.NETFramework,Version=v4.5/Microsoft .Owin.Security.Google http://www.symbolsource.org/MyGet/Metadata/aspnetwebstacknightly/Project/Microsoft.Owin.Security.Google/2.0.1-rtw1-20924-641-dev/Release/.NETFramework,Version=v4.5/Microsoft.Owin.Security.Google


我处于同样的情况,我认为答案是“不”。

关键类是 Microsoft.Owin.Security.Google.GoogleAuthenticationHandler,它实现 OWIN 后端处理程序。很难对调用进行编码https://www.google.com/accounts/o8/ud https://www.google.com/accounts/o8/ud在其 AuthenticateCoreAsync 中以及在 ApplyResponseChallengeAsync 中对属性 eXchange 请求进行硬编码。如果有更好的方法(即 OpenID 基类),我假设他们肯定会使用它而不是对这两个点进行硬编码。我假设微软由于日程原因或认为缺乏需求而没有使其通用。

我认为开源通用 OpenID OWIN 中间件将是一个很棒的 NuGet 包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC 5 中的“通用”OpenID 的相关文章

随机推荐

  • Protractor - Jasmine - 将文件下载到相对路径

    我已阅读并遵循以下问题及其评论 答案 问题1 https stackoverflow com questions 27785731 cant stop protractor from displaying file download pro
  • 从 Python 文档字符串自动生成 GitHub Wiki 文档

    标题说明了一切 我的想法是为我的所有模块 类和函数提供文档字符串 并以某种方式通过 github wiki 很好地导航文档 此外 该文档应与最新代码同步 这意味着它应在推送时更新 重新生成 那可能吗 只需通过管道传输生成的输出docstri
  • __getitem__, __setitem__ 多个键

    我正在尝试创建一个类 它将数据存储在本地缓冲区中 并充当数据库的接口 我有以下代码 class Table object def init self tableName columnDict self tableName tableName
  • Python 与 QML (Qt-Quick) 配合得很好吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是 Qt Quick 的初学者 我不知道 Qt 是 QML 的基础 而且我也不熟悉 C 它又是 Qt 和 QML 的主要支持语言 我
  • 为什么 assembleDebug 比项目构建花费的时间要长得多以及如何优化它?

    我最近一直在处理 Android Studio 中的 gradle 构建时间 通过删除一些依赖项 我成功地将构建时间从大约 3 分钟减少到 10 秒 但事情是这样的 当我重建项目时 大约需要 10 秒 15 13 43 Executing
  • 显示为问号的特殊字符

    使用 Python 编程语言时 我在输出 和 等字符时遇到问题 以下代码给出了一个问号 作为输出 而不是 coding iso 8859 1 input print input 以下代码可让您输入随机文本 for 循环遍历输入的每个字符 将
  • Tinymce:拼写检查器不工作

    我在用spellchecker for tinymce在我的应用程序中 拼写检查器内部使用Moxiecode TinyMCE dll 在我们上次实时更新之前它运行良好 突然就报错了You must write ContentLength b
  • NestJS + CASL + Mongoose:CASL 无法从 Mongoose Schema 推断主题类型

    Context 我定义了一个Cat使用 Mongoose 和 NestJS 的架构 import Prop Schema SchemaFactory from nestjs mongoose import Document from mon
  • VBA - 检查列表对象中的数据是否被过滤

    我正在尝试开发一个自定义函数来检查列表对象中的数据是否被过滤 Public Function TestFiltered As Boolean Dim rngFilter As Range Dim r As Long f As Long Se
  • 从哪里获取与 timezone-js 配合使用的 Olson 时区数据库文件?

    根据 timezone js 的自述文件 http github com mde timezone js http github com mde timezone js 您需要下载 Olson 时区数据库并将文件存储在 Web 服务器上的目
  • Postgres where 子句来自子查询的两列

    数据库 Postgres 表名 records 有 4 列Year Dept Expense Month 因此 每年每个月 每个部门最多可以有一条记录 我有一个子查询 它根据约束返回以下数据 Year Dept 2001 HR 2001 A
  • AS 中的内部类

    例如 package public class A var test String public function A class B 代码在同一个文件中 我们称B为内部类 那么如何调用B类的构造函数 package public clas
  • XML文档选择

    我的 XML 文档格式如下
  • 如何使用systemjs导入fullcalendar v.3.0.1?

    我有app ts import moment from moment moment import from jquery import fullcalendar fullcalendar calendar fullCalendar 但出现
  • Node.js 中的 WordPress 身份验证

    允许用户使用 WordPress 页面中的用户帐户使用 Node js 应用程序的最佳方式是什么 我尝试过在 Redis 中存储会话信息 但我对 PHP 不太熟悉 并且遇到了不存储会话的死胡同 我用过这个guide http simplap
  • Twitter 引导表单字段太小

    我知道这个主题 听起来 很像其他主题 但我已经浏览了所有现有的线程 无论如何 大多数 但我仍然有一个问题 我可以使用帮助 The problem与其他人所描述的并没有太大不同 某些 FORM 元素不显示其完整的垂直高度 其中最值得注意的是
  • 缓存与分页

    所以我在上计算机体系结构课 我想我很难区分缓存和页面 我能想到的唯一解释是 页面是操作系统欺骗程序的方式 让程序在指定的内存区域中完成所有工作 而高速缓存是硬件欺骗操作系统从指定区域读取数据的方式 记忆区域 而实际上并非如此 操作系统是否指
  • DrRacket/Scheme 中的地图、过滤器、Foldr

    编程语言 Scheme DrRacket 我们目前正在回顾map filter and foldr在我的计算机科学课上 我知道这三个函数都可以用来创建抽象函数 但说实话 我对这三个函数之间的区别以及何时使用每个函数感到有点困惑 有人愿意解释
  • sed 删除特定字符周围的空格

    仅删除某些字符周围的空格的最佳方法是什么 让我们说一个破折号 Some String 12345 Here会成为Some String 12345 Here 就像是sed s g s g 但我确信一定有更好的方法 Thanks 如果你的意思
  • ASP.NET MVC 5 中的“通用”OpenID

    我尝试了 ASP NET MVC 5 中的新身份验证功能 我之前使用过DotNetOpenAuth 我知道内置的 Google 提供程序使用 OpenID 1 并且工作正常 但我想在身份验证时使用我自己的 OpenID 提供程序 不幸的是