IdentityServer4 And AspNetCore.Identity Get AccessToken 问题

本文介绍如何使用ASP.NET Core Identity与IdentityServer4进行集成,并提供了具体实现细节,包括如何处理用户声明、资源所有者密码验证及配置OIDC方案以正确获取访问令牌。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结合 AspNetCore.Identity  主要就是下载 官方的IdentityServer4.AspNetIdentity 这个包

下面来看下源码

里面帮助我们处理了 

IUserClaimsPrincipalFactory

IResourceOwnerPasswordValidator

IProfileService

的实现,所以我们在代码中只要运用了如下实现后,就不需要再去实现了

  public static IIdentityServerBuilder AddAspNetIdentity<TUser>(this IIdentityServerBuilder builder) where TUser : class;

淡然你也可以不使用这个,自己单独按照自己的需求去实现 至少需要实现如上三个接口

下面在说下 获取Token问题:

await HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken); 

使用发现这里这样写是获取不到Token,这是Web连接的OIDC本地是在Cookies里面,如果是Api接口采用上面的是可以获取得到的,集成IdentityServer4登录使用的OIDC处理登录,所以这里需要加上OIDC配置的 Scheme

 var info = await HttpContext.GetTokenAsync("Cookies",OpenIdConnectParameterNames.AccessToken);

 

转载于:https://www.cnblogs.com/liyouming/p/9493531.html

### 关于 `bg.open.accesstoken.info.get` 接口 对于 `bg.open.accesstoken.info.get` 这样的API请求,通常用于获取访问令牌的相关信息。此接口可能属于某个特定平台或服务的一部分,在该平台上开发者可以通过这个接口来验证、刷新或者查询已有的访问令牌详情。 #### 使用场景 - **验证Token的有效性**:通过传递现有的access token给服务器端,可以确认其是否仍然有效以及具体的过期时间等属性。 - **获取用户身份信息**:如果token关联着用户的登录状态,则可通过本接口返回有关用户的身份资料或其他授权范围内的个人信息[^1]。 #### 参数说明 | 字段名 | 类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | access_token | string | 是 | 应用调用接口凭证 | #### 返回结果 成功的响应将会包含如下字段: - `"expires_in"`: 表示Access Token剩余有效期(秒) - `"refresh_token"`: 刷新Access Token所需的Refresh Token字符串 - 可能还有其他与具体实现相关的额外数据项,比如用户ID、昵称等个人资料信息[^2] 请注意上述描述基于一般性的OAuth 2.0协议下的AccessToken处理流程推测而来;针对实际存在的`bg.open.accesstoken.info.get` API而言,建议查阅官方提供的最新版API文档以获得最准确的功能定义和服务条款。 ```javascript // 假设这是一个JavaScript环境中的HTTP GET请求例子 fetch('https://example.com/bg/open/accesstoken/info/get', { method: 'GET', headers: { Authorization: `Bearer YOUR_ACCESS_TOKEN_HERE`, }, }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值