从IdentityServer3中的内部请求获取idsrv cookie值

时间:2019-07-03 01:57:12

标签: asp.net-web-api owin identityserver3

我通过ASP.NET WebAPI自托管了OWIN,并且有一个端点执行ROPC(资源所有者密码凭证)流。在我的API内部,我通过IdentityServer3手动调用了/login?signin登录API(HttpClient端点)。我得说,以一种特定的专用方式为我的服务器使用ROPC有点黑。

成功验证登录凭据后,IdentityServer3尝试重定向到/permissions端点。服务器执行该工作时,它会在其请求标头中请求具有三个cookie值的权限页面。 idsrvidsrv.xsrfidsvr.session

[HttpGet]
public async bool LoginResult(User user)
{
    .
    .
    . build up a request message...
    . putting 'http://localhost:1234/login?signin={hash}'
    . and other protocol specific values
    .

    var response = await HttpClient.SendAsync(requestMessage);

    // Here, I need the 'idsrv' cookie value before returning this response.

    return response;
}

在返回我自己的idsvr请求的响应之前,我需要获取HttpClient值。但是我似乎无法在端点范围内跟踪内部请求的详细信息。

在http通话期间是否存在包含所有请求和响应的属性或上下文?我签出了OwinContext,看起来好像没有任何相关内容对象。

0 个答案:

没有答案