问题标签 [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.
aspnet-contrib - AspNet.Security.OpenIdConnect.Server - 更新 .net 核心项目时令牌无效
[AspNet.Security.OpenIdConnect.Server] 2.0.0-rc2-final
怀疑刷新令牌。
是否有任何机制可以在更新 .net 核心项目 (DLL) 或应用程序重新启动 (IIS) 后重新验证令牌以使用户保持有效并登录?
今天,每次更新我的项目时,令牌都会失效,用户与应用程序断开连接,需要重新登录。
更新后返回的消息是:指定的刷新令牌无效。
谢谢。
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(删除了登录雅虎)但它不起作用。我找不到在线指南,唯一的参考是上面的评论,这显然对我没有帮助。
提前致谢!
c# - ASP.NET 4.5 或替代框架中的 OpenIdDict?
在一个旧项目中,我们使用了 ASP.NET 4.5,我想在其中使用框架 OpenIdDict。它是由 ASP.NET Core 1 和 2 制作的。我还能使用它吗?我需要注意什么?如果我不能使用它,你知道哪些替代品?
链接到 OpenIdDict:https ://github.com/openiddict/openiddict-core
c# - ASP.Net ASOS JWT 返回 Token 但未授权
我正在构建一个具有固定凭据的简单应用程序,因此无需与 EF 或其他任何东西集成。
我正在尝试将 AspNet.Security.OpenIdConnect.Server 包与 JWT 配置一起使用,我可以验证我的凭据并返回令牌,但使用 [Authorize] 属性我的端点总是返回 401 未授权。
启动.cs
授权提供者.cs
控制器
根据 jwt.io,这是 JWT 内部的有效负载:
也尝试使用 just [Authorize]
,但我也得到 401 未授权。
如果我使用默认的 ASOS 令牌,它可以正常工作,只是在使用 JWT 时出现问题(我正在尝试使用它,因为我想添加自定义密钥而不是证书)。
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 的撤销逻辑)。
asp.net-core - 通过 Open Id 进行身份验证后返回 JWT
我正在开发用户通过 Steam 登录的 ASP.NET Core Web API。
现在我正在使用 cookie,身份验证和授权都可以正常工作。但我想使用 JWT。如果我简单地替换AddCookie
为AddJwtBearer
我得到以下异常The authentication handler registered for scheme 'Bearer' is 'JwtBearerHandler' which cannot be used for SignInAsync
:
在这个github issue中,它说我需要一个 OpenID Connect 服务器,但我不明白为什么,因为如果我想自己编写 JWT 逻辑,我可以在 open id 回调中生成令牌并将其返回给用户. 还是我错过了什么?
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,但无法处理如何传递记录的数据以成功响应和获取数据。
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”)。
HTTP 请求:
如果我在另一个选项卡中打开此请求,我将获得身份验证并重定向到ExternalLoginCallback。
PS:我正在使用AspNet.Security.OAuth.BattleNet并且我没有使用ASP.NET Core Identity进行身份验证(使用自定义逻辑)。
c# - AspNet-Contrib 仅适用于新项目
我有一个现成的项目,在其中,当通过 Google 连接身份验证时,连接不起作用。示例中描述的所有标准设置。但是如果我创建一个新项目,那么一切都对我有用。可能是什么问题呢?我可以提供必要的代码
UPD
AccountController.cs
和 Startup.cs
我发现了一个问题,如果您完成此代码,则不会发生授权
c# - 处理 API 请求时如何检索 AuthenticationToken?
我已为我的 Blazor WASM 应用配置了外部提供者身份验证。用户可以选择通过 Spotify 帐户登录,然后,我希望我的服务器从 Spotify API 下载一些关于他的数据。
为了调用 Spotify API,我需要一个访问令牌。如果我理解正确,令牌会在用户登录后提供给我的服务器。在上面的代码中,我已经指定OnCreatingTicket
了事件,我可以看到它正在被触发(就在我登录之后)并且access_token
在tokens
列表中。
现在,问题是,我不知道以后如何检索该令牌。
以下是登录后发生的情况:
- 用户导航到
\LikedSongs
(用于显示数据的 blazor wasm 子页面) - Blazor 页面调用我的服务器的 API 来检索稍后将显示的数据
- 最后,我的 API 控制器被触发:
出于某种原因,token
为空。而且我在 HttpContext 中找不到任何其他标记。正如我正确理解的那样,令牌是在 cookie 中编码的,那么为什么我在那里找不到它们呢?