Fork me on GitHub

IdentityServer4 And AspNetCore.Identity Get AccessToken 问题

结合 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);

 

posted @ 2018-08-17 15:28  龙码精神  阅读(938)  评论(0编辑  收藏  举报