问题标签 [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.
openiddict - 注册多个 RedirectUris
有时一个客户端有多个重定向 uri。我们希望能够注册多个RedirectUri
值。如果有的话,我们如何做到这一点?
oauth-2.0 - 使 User.Identity 包含访问令牌有效负载中的电子邮件地址
我们通过自省使用 OAuth 来验证访问令牌。
这主要是有效的。
授权服务器响应connect/introspect
良好。
对资源服务器的请求通过了该Authorize
属性。这也很好。
虽然User
,不包含sub
也不包含email
属性。它看起来像这样:
我们如何配置我们的资源服务器以在声明中包含sub
和email
属性?
asp.net - 处理登录 SPA 应用程序:获取用户信息、管理索赔
语境:
我已经在我的应用程序中实现了 OpenIddict,基于GitHub 自述文件。我目前使用 TokenEndpoint 来登录用户。
尽管调用/api/Account/Info
有效并且它返回令牌作为响应,但我需要获取一些有关登录用户的基本数据(用户名、电子邮件、帐户类型)。来自令牌端点的响应没有提供。
我发现了类似 UserinfoEndpoint 的东西:
但是我在http响应中看到的是:
这应该给我一些回报Claims
。由于它不返回任何内容,我假设Identity Claims
在令牌生成期间没有创建任何内容。
简而言之,我需要知道的:
- 是否使用令牌端点正确的方式登录用户?
- 我需要自己生成索赔吗?
- 我可以自己控制索赔吗?如何控制?
- 如何通过 UserInfoEndpoint 使某些声明可见?
angular - POST 参数被截断
我从 angular 2 应用程序到 asp.net core 1.0 web api 服务器的请求有一个奇怪的问题。服务器正在使用 OpenIddict。
这是请求:
在 api 端点 /connect/token
var request = HttpContext.GetOpenIdConnectRequest();
request 变量有几个参数,一个是 Resource 参数,它包含一个 URI。URI 被截断。
结果是 OpenIddict 库无法正确匹配资源,因此无法进行身份验证,因为提供的 URI 与资源 URI 不匹配。
openid-connect - 设置为允许使用提示=无静默续订
OpenIddict 是否支持静默续订?我们如何配置它?
我目前从这个请求中得到 400:
OpenIddict 对此作出回应:
一些客户端,例如 oidc-client-js,不包含提示。有没有办法禁用提示要求?
angular - 使用 ASP.NET Core REST API 在 SPA (Angular 2) 中进行社交注册
我已经实现了使用 ASP.NET Core WebApi 作为后端的简单 Angular 2 应用程序。对于身份验证,我添加了“/login”路由,该路由生成 JWT 访问和刷新令牌,这些令牌又由 SPA 存储在 localStorage 中并用于 HTTP 请求。
现在我想集成社交注册功能,以便用户可以使用 ie Facebook 按钮登录。从用户的角度来看,我想将其分为 3 个步骤:
- 单击通过 Facebook 注册按钮并重定向到 Facebook 网站(登录并确认我的应用请求)。
- 单击确认并重定向到我的 SPA/registration 页面,他的名字已经从 Facebook 个人资料中填写
- 填写剩余的字段(如他最喜欢的玩具)并点击“完成注册”
在此注册之后,如果用户再次点击通过 facebook 注册,他将被重定向到 facebook(如果他已经登录),他会自动重定向到服务器路由,检查此类用户是否已经注册,然后将他重定向到 SPA 主页
如何在我的应用程序中正确集成这样的工作流程?注意:我想在我的 Angular2 应用程序中执行身份验证和注册,而不是在不同的身份验证服务器上。
asp.net-core - 无法请求令牌,请求字段为空
我正在尝试为 SPA 创建 API。我正在使用最新的 .NET Core、MVC 和 EF。我想使用 JWT 对用户进行身份验证,所以我决定使用 openiddict 核心。我已经尝试根据github 页面和此博客文章中的示例进行设置。问题是我得到“不支持指定的授权类型”。请求令牌时。
这是我的ConfigureServices
方法:
和Configure
方法:
我正在使用AuthorizationController
示例中的 来处理令牌请求。通过观察处理请求request
的方法的参数内容,我发现它接收所有字段为空值:
Exchange
/connect/token
c# - 用谷歌 idToken 交换本地 openId 令牌 c#
我正在使用这个 github 项目https://github.com/openiddict/openiddict-core ,这很棒。但是当用户使用外部身份提供者时,我不知道程序应该是什么,或者如何实现它们,对于这个例子,我将使用谷歌。
我有一个 angular2 应用程序正在运行,带有一个 aspnet 核心 webAPI。我所有的本地登录都可以正常工作,我connect/token
使用用户名和密码调用,并返回 accessToken。
现在我需要将 google 实现为外部身份提供者。我已经按照这里的所有步骤来实现一个谷歌登录按钮。当用户登录时,这会打开一个弹出窗口。这是我为我的 google 按钮创建的代码。
现在我有一个来自谷歌的 idToken。在此处找到的谷歌页面上的下一步说我需要验证谷歌 accessToken,我可以这样做,但是如何交换我从谷歌获得的 accessToken,并创建可以在我的应用程序上使用的本地 accessToken?
oauth-2.0 - 如何在使用 OpenIddict 请求令牌时添加要返回的自定义声明?
我正在构建 ASP.NET Core 1.1 应用程序(跨平台)并尝试(使用此示例access_token
)在请求/connect/token
端点时向返回的返回添加自定义声明。
我需要的是不仅返回序列化的声明,access_token
而且在响应中返回它们,如下所示:
我在互联网上发现我必须使用AspNet.Security.OpenIdConnect.Server
并编写我的提供程序才能做我想做的事情。
没有使用第一个示例的简单方法吗?
我使用的是 OAUth 2.0,授权类型Password
,没有 JWT。
不是不使用 JWT 的要求,只是我在 ASP.NET 4.5 中使用过 OAuth
asp.net - asp.net 核心中的 OpenIDDict 错误“无法检索 OpenID Connect 请求”
System.InvalidOperationException:无法从 ASP.NET 上下文中检索 OpenID Connect 请求。确保在 'app.UseMvc()' 之前调用 'app.UseOpenIddict()' 并且操作路由对应于通过 'services.AddOpenIddict().Enable[...]Endpoint(... )'。在 OpenIddict.Mvc.OpenIddictModelBinder.BindModelAsync(ModelBindingContext 上下文)
我的启动.cs
更新
改变: