问题标签 [aspnet-contrib]
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.
c# - 例外:oauth 状态丢失或无效。(ASP.NET Core 外部标识符 OAuth)
我正在尝试在 Asp.Net Core ( https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers ) 中实现外部 OAuth。我的应用程序(GitLab)具有回调 URL https://myhost.com/signin-gitlab(中间件默认使用)。
如果我运行下面的代码,我会得到“异常:oauth 状态丢失或无效”。但是,如果我从 Startup.cs 中删除“options.UserInformationEndpoint”,那么我会使用代码和状态参数重定向到 myhost.com/signin-gitlab,中间件应该用它们交换访问令牌。我的问题是,为什么我的状态参数会损坏(使用 UserInformationEndpoint)?为什么我没有获得访问令牌?我在这里想念什么?
我的创业班:
我的控制器:
c# - 在 OnCreatingTicket 中读取 JSON 响应而不使用 MapJsonKey(声明)
在 OAuth 身份验证流程成功后,我正在尝试从 Google API 读取实际的 JSON 响应。我已阅读 MS Docs ( https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/additional-claims?view=aspnetcore-5.0#establish-the-authentication-scope ) 其中他们使用 options.ClaimActions.MapJsonKey 将每个键映射到一个声明。但是我不想添加声明,我只想读取所有返回的 JSON 键和值。
oauth - Asp.Net Core Twitch OAuth:关联失败
我使用本教程为我的网站配置了Twitch 身份验证: https ://blog.elmah.io/cookie-authentication-with-social-providers-in-asp-net-core/ 在 Twitch 开发控制台中,我添加了 https:// /localhost:44348/signin-twitch url 到回调 url。我以前为其他提供商实施过 oauth,但在 Twitch 上遇到了麻烦。
当我尝试登录时,我得到了 Twitch 授权屏幕,但在单击“授权”后,它会将我重定向到 /signin-twitch + params,这会返回一个Correlation Failed
异常。
Exception: An error was encountered while handling the remote login.
我感觉这可能与路由有关。之所以这样设置,是因为我有一个带有自己路由的前端应用程序(因此是后备)
这是所有相关代码。
azure-web-app-service - 减少 openID 状态令牌的长度
我一直在开发一个 .NET Core Web 应用程序,可以通过 OpenID 服务对其 Steam 帐户进行身份验证。为此,我使用AspNet.Security.OpenId.Providers并且身份验证过程正常工作,直到我将应用程序部署到 Azure 应用服务。
当服务器托管在 Azure 上时,身份验证过程在从外部 Steam 身份验证页面重定向期间失败并显示 404。
回调看起来像/signin-steam?state=XXXXX&openid.return_to=XXXX& ...
我注意到完整的 URL 超过 2048 个字符(大约 2500 个字符),我发现消息来源说这可能是一个问题,但是我不知道如何测试这是否是此处错误响应的原因。
大多数 URL 是状态令牌本身,有没有办法使用上面提到的库来减小它的大小?
c# - 尝试添加其他 OAuth 提供程序。收到“错误 NU1101:找不到包 'Provider'”
概述
我正在查看AspNet.Security.OAuth.Providers
Github 上的包(单击此处)。我们想要使用的 IDaaS 之一未列出。我正在尝试为缺少的 IDaaS 开发 OAuth 提供程序,但在尝试dotnet build
在新 OAuth 提供程序的文件夹中运行时遇到以下错误:
重现步骤
- 克隆
AspNet.Security.OAuth.Providers
到本地计算机。 - 复制
/src/AspNet.Security.OAuth.GitHub
文件夹,并将其重命名为“NewProvider”。 - 将所有文件、类和命名空间从 重命名
Github
为NewProvider
. - 继续运行
dotnet build
。/src/AspNet.Security.OAuth.NewProvider
- 抛出错误。
问题
- 我究竟做错了什么?
AspNet.Security.OAuth.NewProvider
不在 Nuget 或任何包管理器中。这是我们正在尝试开发的全新库。有没有办法告诉 VS Code 不要停止在 Nuget 中寻找它?