问题标签 [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 回答
220 浏览

aspnet-contrib - AspNet.Security.OpenIdConnect.Server - 更新 .net 核心项目时令牌无效

[AspNet.Security.OpenIdConnect.Server] 2.0.0-rc2-final

怀疑刷新令牌。

是否有任何机制可以在更新 .net 核心项目 (DLL) 或应用程序重新启动 (IIS) 后重新验证令牌以使用户保持有效并登录?

今天,每次更新我的项目时,令牌都会失效,用户与应用程序断开连接,需要重新登录。

更新后返回的消息是:指定的刷新令牌无效。

谢谢。

0 投票
1 回答
396 浏览

oauth-2.0 - 带有 Yahoo Asp.net 核心 2.0 的 OAuth

我正在使用带有 openiddict 的 asp.net 核心后端。我已经成功地设置了相当多的外部提供商,我只是设置了一个应用程序,回调 url 将始终是https://mysite.co.uk/signin-PROVIDER;但是,雅虎不允许他们的名字出现在您创建的应用程序的任何部分,包括回调 url (/signin-yahoo)。对此的任何帮助都会很棒!

我在 github 上查看并发现: Yahoo does not allow callbacks with Yahoo in the name

我们被告知的地方

如果您在创建应用程序时将回调设置为根,并在配置中保留回调默认值,则它可以 OOTB

但我离开了它https://www.mysite.co.uk(删除了登录雅虎)但它不起作用。我找不到在线指南,唯一的参考是上面的评论,这显然对我没有帮助。

提前致谢!

0 投票
1 回答
875 浏览

c# - ASP.NET 4.5 或替代框架中的 OpenIdDict?

在一个旧项目中,我们使用了 ASP.NET 4.5,我想在其中使用框架 OpenIdDict。它是由 ASP.NET Core 1 和 2 制作的。我还能使用它吗?我需要注意什么?如果我不能使用它,你知道哪些替代品?

链接到 OpenIdDict:https ://github.com/openiddict/openiddict-core

0 投票
0 回答
242 浏览

c# - ASP.Net ASOS JWT 返回 Token 但未授权

我正在构建一个具有固定凭据的简单应用程序,因此无需与 EF 或其他任何东西集成。

我正在尝试将 AspNet.Security.OpenIdConnect.Server 包与 JWT 配置一起使用,我可以验证我的凭据并返回令牌,但使用 [Authorize] 属性我的端点总是返回 401 未授权。

启动.cs

授权提供者.cs

控制器

根据 jwt.io,这是 JWT 内部的有效负载:

也尝试使用 just [Authorize],但我也得到 401 未授权。

如果我使用默认的 ASOS 令牌,它可以正常工作,只是在使用 JWT 时出现问题(我正在尝试使用它,因为我想添加自定义密钥而不是证书)。

邮递员请求正文

0 投票
1 回答
656 浏览

openid - AspNet.Security.OpenIdConnect.Server 令牌吊销和注销不起作用

我已经配置了如下所述的撤销和注销端点。

但两者都不起作用令牌撤销不会过期/撤销令牌。

对于Token Revocation,我调试了代码,发现它在下面提到的代码中拒绝OpenIdConnectServerHandler类中的上下文。

var context = new ValidateRevocationRequestContext(Context, Scheme, Options, request); await Provider.ValidateRevocationRequest(context);

context.IsRejected 在上述方法之后为真

request(post) 包含 clientId、clientsecret、token 作为访问令牌或刷新令牌和 token_hint_type。我没有得出结论,为什么会这样?

更新 1:

通过下面提到的代码进行上下文验证。

public override async Task ValidateRevocationRequest(ValidateRevocationRequestContext context) { context.Validate(); }

现在我通过调试 ASOS 代码了解到令牌撤销没有内置逻辑,对吗?如果这是这种情况,那么我需要编写我的自定义逻辑来撤销令牌

public override async Task HandleRevocationRequest(HandleRevocationRequestContext context) {.. code }

现在我想知道撤销令牌(访问和刷新)的方法是什么,因为它们是自包含的,而不是像 openiddict 那样存储在数据库中(我看过 openiddict 的撤销逻辑)。

0 投票
1 回答
500 浏览

asp.net-core - 通过 Open Id 进行身份验证后返回 JWT

我正在开发用户通过 Steam 登录的 ASP.NET Core Web API。

现在我正在使用 cookie,身份验证和授权都可以正常工作。但我想使用 JWT。如果我简单地替换AddCookieAddJwtBearer我得到以下异常The authentication handler registered for scheme 'Bearer' is 'JwtBearerHandler' which cannot be used for SignInAsync

在这个github issue中,它说我需要一个 OpenID Connect 服务器,但我不明白为什么,因为如果我想自己编写 JWT 逻辑,我可以在 open id 回调中生成令牌并将其返回给用户. 还是我错过了什么?

0 投票
0 回答
115 浏览

aspnet-contrib - 集成 AspNet.Security.OpenId.Providers Steam 授权与 reactive.js?

我有一个 ASP.Net Core 2.2 Web API,它使用 Steam 登录来使用这个包进行身份验证。我的身份验证如下所示:

我在我的 react 应用程序中使用这个 API,我想登录,所以我在我的 react 项目中添加了这个来登录

并且 /api/login 将用户重定向回 react 的主页:

我知道尝试这样授权是很愚蠢的,但我不知道怎么做。他们还说在这里使用 JWT 是不安全的,所以我不得不使用 cookie,但无法处理如何传递记录的数据以成功响应和获取数据。

0 投票
1 回答
149 浏览

oauth-2.0 - [Web API]AspNet.Security.OAuth.BattleNet OAuth 2.0 问题

基本上我的使用战网按钮登录在这里发送请求:


突然间我收到了这个错误

CORS 错误

跨域请求被阻止:同源策略不允许在https://eu.battle.net/oauth/authorize?client_id= *&scope=d3.profile%20openid&response_type=code&redirect_uri=https%3A%2F%2Flocalhost读取远程资源%3A44333%2Fapi%2Fuser%2Fexternallogincallback&state=CfDJ8GNva7rF4-dPly4Z3xuUAIb6108sCNggQc6reYXjMJrGmdWZbri-N715ueCZ2Ksw9Q47k8SX1xG-c3zDck-mXT8h8mvEY5_41ox7C9OsU-PStXqUsD6npNcMBhCr16Qh1valIQ6REKTMjLiilO5wbnx1349I2SwQfJevGwKZqC4o4PElfF6kPaPmRa5Eslquh4Sfwbn3HTKeaArxx2v8jD4. (原因:缺少 CORS 标头“Access-Control-Allow-Origin”)。

CORS 错误

HTTP 请求

HTTP 请求

如果我在另一个选项卡中打开此请求,我将获得身份验证并重定向到ExternalLoginCallback

PS:我正在使用AspNet.Security.OAuth.BattleNet并且我没有使用ASP.NET Core Identity进行身份验证(使用自定义逻辑)。

0 投票
0 回答
44 浏览

c# - AspNet-Contrib 仅适用于新项目

我有一个现成的项目,在其中,当通过 Google 连接身份验证时,连接不起作用。示例中描述的所有标准设置。但是如果我创建一个新项目,那么一切都对我有用。可能是什么问题呢?我可以提供必要的代码

UPD

AccountController.cs

和 Startup.cs

我发现了一个问题,如果您完成此代码,则不会发生授权

0 投票
0 回答
129 浏览

c# - 处理 API 请求时如何检索 AuthenticationToken?

我已为我的 Blazor WASM 应用配置了外部提供者身份验证。用户可以选择通过 Spotify 帐户登录,然后,我希望我的服务器从 Spotify API 下载一些关于他的数据。

为了调用 Spotify API,我需要一个访问令牌。如果我理解正确,令牌会在用户登录后提供给我的服务器。在上面的代码中,我已经指定OnCreatingTicket了事件,我可以看到它正在被触发(就在我登录之后)并且access_tokentokens列表中。

现在,问题是,我不知道以后如何检索该令牌。

以下是登录后发生的情况:

  1. 用户导航到\LikedSongs(用于显示数据的 blazor wasm 子页面)
  2. Blazor 页面调用我的服务器的 API 来检索稍后将显示的数据
  1. 最后,我的 API 控制器被触发:

出于某种原因,token为空。而且我在 HttpContext 中找不到任何其他标记。正如我正确理解的那样,令牌是在 cookie 中编码的,那么为什么我在那里找不到它们呢?