c# - 如何从 Owin 身份验证流程外部访问 OWIN 身份验证选项
问题描述
在我的 OwinStartup.cs 中,我定义了一个身份验证提供程序并设置了它的选项:
var authOptions = new AuthenticationOptions
{
ClientId = "myId",
ClientSecret = "verysecret"
};
app.UseMyAwesoneAuthentication(authOptions);
如何AuthenticationOptions
从 ASP.Net MVC 控制器中访问身份验证提供程序的对象?我可以访问控制器内部的 OWIN 上下文:
var owinContext = Request.GetOwinContext();
AuthenticationOptions
但除了将其设为静态对象外,还没有找到获取提供者对象的方法。
这个可以吗?
编辑:我为什么要这样做?
UseMyAwesomeAuthentication()
是我的自定义身份验证提供程序的扩展方法,它将提供程序添加到 Owin IAppBuilder
。除了针对第 3 方的标准 OAuth2 身份验证外,提供程序还有一个扩展方法,可以使用在初始身份验证期间获得的访问令牌从第 3 方 API 获取附加数据。
要在 Owin 身份验证过程之外调用第 3 方 API,扩展方法需要访问存储在选项对象中的 ClientID、ClientSecret 和端点 url 数据。
我更改了标题以更清楚地说明我的实际目标是什么。
解决方案
推荐阅读
- google-chrome - Google Chrome:如何绕过 SSL 检查以用于开发目的
- python - 使用 cKDTree 查询找到最接近的三角形平面
- java - 如何在不使用 try-catch 的情况下解决 ArrayIndexOutOfBoundsException?
- node.js - Websocket 客户端覆盖彼此的连接
- c++ - 如何在实时流中从 44100Hz 样本中制作 16000Hz 样本?
- python - 悬停在标签上时也显示悬停文本
- django - 在 django 中生成 JWT 令牌,用于不同服务之间的身份验证
- postgresql - 将 HTML 内容字符串替换为 postgreSQL 中的普通文本
- c# - 从 C# 中的另一个 exe 文件中删除 Notifyicon ContextMenuStrip 项
- java - HttpUrlConnection.setConnectTimeout() 不适用于 java 类