问题标签 [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.

0 投票
1 回答
1000 浏览

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)?为什么我没有获得访问令牌?我在这里想念什么?

我的创业班:

我的控制器:

0 投票
1 回答
224 浏览

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 键和值。

0 投票
1 回答
121 浏览

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. 在此处输入图像描述

我感觉这可能与路由有关。之所以这样设置,是因为我有一个带有自己路由的前端应用程序(因此是后备)

这是所有相关代码。

0 投票
0 回答
34 浏览

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 是状态令牌本身,有没有办法使用上面提到的库来减小它的大小?

0 投票
1 回答
41 浏览

c# - 尝试添加其他 OAuth 提供程序。收到“错误 NU1101:找不到包 'Provider'”

概述

我正在查看AspNet.Security.OAuth.ProvidersGithub 上的包(单击此处)。我们想要使用的 IDaaS 之一未列出。我正在尝试为缺少的 IDaaS 开发 OAuth 提供程序,但在尝试dotnet build在新 OAuth 提供程序的文件夹中运行时遇到以下错误:

重现步骤

  1. 克隆AspNet.Security.OAuth.Providers到本地计算机。
  2. 复制/src/AspNet.Security.OAuth.GitHub文件夹,并将其重命名为“NewProvider”。
  3. 将所有文件、类和命名空间从 重命名GithubNewProvider.
  4. 继续运行dotnet build/src/AspNet.Security.OAuth.NewProvider
  5. 抛出错误。

问题

  • 我究竟做错了什么?
  • AspNet.Security.OAuth.NewProvider不在 Nuget 或任何包管理器中。这是我们正在尝试开发的全新库。有没有办法告诉 VS Code 不要停止在 Nuget 中寻找它?