问题标签 [openiddict]

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 回答
4946 浏览

c# - OpenIddict - 您如何获取用户的访问令牌?

我正在使用 AngularJs 为 OpenIddict 开发一个示例应用程序。有人告诉我,您不应该使用像 Satellizer 这样的客户端框架,因为不建议这样做,而是允许服务器处理服务器端的登录(本地并使用外部登录提供程序),并返回访问令牌。

好吧,我有一个演示 angularJs 应用程序并使用服务器端登录逻辑并回调 angular 应用程序,但我的问题是,我如何获取当前用户的访问令牌?

这是我的startup.cs文件,所以你可以看到我到目前为止的配置

现在我的 AccountController 与普通的 AccountController 基本相同,尽管一旦用户登录(使用本地和外部登录)我使用此功能并需要一个 accessToken。

从 AccountController 上的 ExternalLoginCallback 方法可以看出

0 投票
2 回答
8780 浏览

asp.net-core - How do you troubleshoot AspNet Core missing dependencies?

So I made a change to my project.json which caused a re-restore which is coming up with a bunch of unresolvable dependencies. How do you figure out what is going on here? This was definitely working as I wrote quite a bit of code against this project.json file.

0 投票
1 回答
1199 浏览

angularjs - 如何在 Web 应用程序中实现刷新令牌 - angularjs

我在我的网络应用程序中使用基于令牌的安全性。服务器端是使用 c# 编写的,我使用 openiddict 登录和发布令牌,在此处找到。我在货币上使用隐式流。

默认情况下,我的令牌的有效期为 1 小时,之后您必须再次登录。我已将我的 API 锁定为仅接受不记名令牌而不接受 cookie。

我想实现刷新令牌,但在阅读了许多网站之后,似乎在 Web 应用程序上实现刷新令牌并不是一个好方法,因为黑客获取了刷新令牌。我知道要使用刷新令牌,您必须使用代码流,而不是隐含的,我可以这样做。

人们如何在他们的网络应用程序中解决这种情况?我不能是唯一一个希望令牌在 Web 应用程序中持续超过一个小时的人吗?

0 投票
1 回答
2455 浏览

asp.net - 项目中的依赖OpenIddict不支持框架DNXCore,Version=v5.0

我做了所有被告知的事情[关于 OpenIddict 入门教程]

  • 我跑了 dnvm 升级
  • 我已将所有给定的源添加到 Nuget.Config
  • 在 project.json 依赖项中添加了 "OpenIddict": "1.0.0-*"

这就是当我将鼠标悬停在 project.json 中红色“OpenIddict”依赖项下划线时 Visual Studio 所告诉的内容:

项目 [...] 中的依赖项 OpenIddict 1.0.0-alpha2-0161 不支持框架 DNXCore,Version=v5.0

清理项目和恢复 nuget 包没有帮助。我应该怎么做才能让它工作?

编辑:

项目.json:

0 投票
1 回答
247 浏览

c# - 使用 openiddict 时如何避免使用微软的 Microsoft.AspNet.Identity 包

我正在关注这个精彩的教程http://capesean.co.za/blog/asp-net-5-jwt-tokens/
它运行良好。问题是,我想使用自己的用户管理代码来验证给定的用户名、密码以检索访问令牌和刷新令牌。
本教程(以及https://github.com/openiddict/openiddict-core/tree/dev/samples上的示例)使用专有Asp.net Identity
如何配置 Startup.cs 类中给出的配置以使用我自己的用户管理代码?
例如....

谢谢

0 投票
1 回答
1764 浏览

entity-framework - 为 OpenIddict 配置 DbContext

我在我的 .NET Core 应用程序中使用OpenIddict进行 JWT 令牌身份验证。我已按照本教程进行操作,但现在收到以下错误:

我的ConfigureServices方法Startup.cs

不知道该怎么做,因为我无法在使用AddIdentity.

我的连接字符串很好,在添加 OpenIddict 之前一切正常。

更新 这是我的appsettings.json文件:

我的数据库上下文:

0 投票
1 回答
1685 浏览

asp.net-core - OpenIddict 中 Applications 表的用途

请解释一下 OpenIddict 中 Applications 表的用途。我正在关注这个很棒的教程http://capesean.co.za/blog/asp-net-5-jwt-tokens/ 它运行良好。我对为 OpenIddict 添加的 Applications 表的功能有误解。

目前,我的前端 (Angularjs) + 后端(带有 ASP.NET Core 和 OpenIddict 的 Web.API)在一台服务器上运行良好。前端接收令牌并在请求中使用它。后端生成令牌并评估它们。一切都很好,但是 Applications 表没有任何记录。

谢谢。

0 投票
0 回答
688 浏览

angular - 是否可以在 asp.net 核心中使用 cookie 获取 access_token?

当用户使用外部登录登录时,它会创建一个 cookie,但我想使用令牌,是否可以使用 openiddict 或任何其他方法?有以下方法可用,但不知道如何使用。

0 投票
0 回答
715 浏览

entity-framework - CORS 无法在 asp.net 核心中处理 [授权] 属性操作或预检 CORS 请求

嗨,我面临一个奇怪的问题,CORS 适用于所有其他功能,但具有 [authorize] 属性的功能除外。我正在使用openiddict对 JWTmiddleware进行授权。服务器托管在 IIS8 上,客户端应用程序位于 angular2 中。它显示以下错误。

XMLHttpRequest 无法加载 example.com/resource。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://localhost:58056 ”。

如果您想查看任何特定代码或需要更多信息,请告诉我。

例外

Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException:IDX10 501:签名验证失败。无法匹配 'kid':'7FG4SQ4TIATESTLI-ZDHTL RYPWIEDU_RA1FVG91D',令牌:'{"alg":"RS256","typ":"JWT","kid":"7FG4SQ4TIATESTLI-ZDHTLRYPWIEDU_RA1FVG9 1D"}

0 投票
2 回答
3129 浏览

asp.net-core - JWT token not validating on remote server , Unable to match 'kid' Errror

I am using asp.net core with openiddict , for authorization i am using jwtmiddleware

but for some reason its throwing this error, any help will be appreciated.

info: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerMiddleware[7] Bearer was not authenticated. Failure message: IDX10501: Signature validat ion failed. Unable to match 'kid': '7FG4SQ4TIATESTLI-ZDHTLRYPWIEDU_RA1FVG91D', token: '{"alg":"RS256","typ":"JWT","kid":"7FG4SQ4TIATESTLI-ZDHTLRYPWIEDU_RA1FVG9 1D"}.{"unique_name":"asd","email":"asd","AspNet.Identity.SecurityStamp":"eb93ee4 4-6dbf-41b8-b1d6-157e4aa23ea7","jti":"4f0f5395-e565-4489-8baf-6361d5c4cb94","usa ge":"access_token","confidential":true,"scope":["offline_access","profile","emai l","roles"],"sub":"9125d8c5-5739-4f46-8747-e3423a464969","azp":"firebaseApp","nb f":1466997962,"exp":1466999762,"iat":1466997962,"iss":"http://localhost:5000/"}' . warn: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1] Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.A uthorization.AuthorizeFilter'. warn: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1] Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.A uthorization.AuthorizeFilter'.