【发布时间】:2021-09-09 03:29:46
【问题描述】:
我已将 OpenIddict 集成到一个 asp.net 核心 web api 中。据我所知,它似乎正在工作。现在,我将 OpenIddict 表加入到我的应用程序表中。我已将 UserKey 添加到 OpenIddictApplications 表中。我将 OpenIddict 令牌和应用程序管理器注入到我的控制器中。现在,在每个控制器方法中,我想获取 access_token,以便我可以使用它来获取应用程序,然后跨我的数据模型运行查询,这样我就可以构建模型对象并将其作为 json 返回给调用者。
以下是我尝试过的。请求为空,因此后续行当然没有做任何有用的事情。
[Authorize(AuthenticationSchemes = OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme)]
[HttpGet(Name = "GetFacilities")]
public async Task<ActionResult<FacilityDirectory>> GetFacilities()
{
var request = HttpContext.GetOpenIddictServerRequest();
var accessToken = request.AccessToken;
var appId = await _tokenManager.GetApplicationIdAsync(accessToken);
var application = await _applicationManager.FindByIdAsync(appId);
var userKey = ((CustomApplication)application).User.UserKey;
// rest ommitted for brevity
}
我需要使用什么来获取访问令牌值?
【问题讨论】:
标签: asp.net-core asp.net-web-api openiddict