.net 在identityserver4中使用脱机_访问作用域内省令牌
在使用自己定义的范围时,我设法反思了访问令牌。我只需要发布到具有基本授权的端点,用户名是我的作用域名称,密码是我的作用域api密码。但是offline_access是IdentityServer定义的默认作用域,我如何反思它?是否有任何方法可以使用api机密自定义脱机访问范围?我需要使用脱机访问,因为只有此作用域才能为我提供刷新令牌。您可以像这样创建刷新令牌 创建您的索赔.net 在identityserver4中使用脱机_访问作用域内省令牌,.net,identityserver4,openid-connect,.net,Identityserver4,Openid Connect,在使用自己定义的范围时,我设法反思了访问令牌。我只需要发布到具有基本授权的端点,用户名是我的作用域名称,密码是我的作用域api密码。但是offline_access是IdentityServer定义的默认作用域,我如何反思它?是否有任何方法可以使用api机密自定义脱机访问范围?我需要使用脱机访问,因为只有此作用域才能为我提供刷新令牌。您可以像这样创建刷新令牌 创建您的索赔 var issuer = HttpContext.GetIdentityServerIssuerUri();
var issuer = HttpContext.GetIdentityServerIssuerUri();
var tokenObj = new Token
{
Issuer = issuer,
CreationTime = DateTime.UtcNow,
Lifetime = client.AccessTokenLifetime,
ClientId = "9a7519a1e0224b18bb28d0fe0a00d038",
Claims = claims,
AccessTokenType = AccessTokenType.Reference,
};
var client = _clientStore.FindClientByIdAsync("{clientId}").Result;
var refereshToken = _refreshTokenService.CreateRefreshTokenAsync(claimsPrincipal, tokenObj, client).Result;
IRefreshTokenService\u refreshTokenService;
IClientStore\u客户商店
这两个都被注入构造函数。您可以像这样创建一个刷新令牌 创建您的索赔
var issuer = HttpContext.GetIdentityServerIssuerUri();
var tokenObj = new Token
{
Issuer = issuer,
CreationTime = DateTime.UtcNow,
Lifetime = client.AccessTokenLifetime,
ClientId = "9a7519a1e0224b18bb28d0fe0a00d038",
Claims = claims,
AccessTokenType = AccessTokenType.Reference,
};
var client = _clientStore.FindClientByIdAsync("{clientId}").Result;
var refereshToken = _refreshTokenService.CreateRefreshTokenAsync(claimsPrincipal, tokenObj, client).Result;
IRefreshTokenService\u refreshTokenService;
IClientStore\u客户商店
这两个都被注入构造函数。我找到了一种方法来反思离线访问范围令牌。我希望这能帮助像我这样的人。让我说我的密码
public static IEnumerable<ApiResource> GetApis()
{
return new List<ApiResource>
{
new ApiResource("api1", "My API")
{
ApiSecrets = { new Secret("secret".Sha256()) }
}
};
}
公共静态IEnumerable
请求刷新令牌时,
在进行自省时,请注意,在基本授权期间将使用用户名api1和密码机密
在撤销引用令牌或刷新令牌时,请注意在基本授权期间将使用用户名ro.client和密码secret,
我找到了一种内省脱机访问范围令牌的方法。我希望这能帮助像我这样的人。让我说我的密码
public static IEnumerable<ApiResource> GetApis()
{
return new List<ApiResource>
{
new ApiResource("api1", "My API")
{
ApiSecrets = { new Secret("secret".Sha256()) }
}
};
}
公共静态IEnumerable
请求刷新令牌时,
在进行自省时,请注意,在基本授权期间将使用用户名api1和密码机密
在撤销引用令牌或刷新令牌时,请注意在基本授权期间将使用用户名ro.client和密码secret,