所以我想在从我的ASP.NET 2.2的核心MVC应用程序用户登录没有他们重定向到IdentityServer4。到目前为止,我能够使用IS4的ResourceOwnerPassword
流量获得令牌,并得到与RequestPasswordTokenAsync
令牌,但即使我把我的客户端的访问令牌这不是验证我的应用程序。
控制器:
public async Task<IActionResult> Login()
{
var client = new HttpClient();
var response = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
{
Address = "http://localhost:5000/connect/token",
ClientId = "mvc3",
ClientSecret = "secret",
UserName = "LegitUsername",
Password = "VeryLegitamitePassword",
Scope = "api1"
});
client.SetBearerToken(response.AccessToken);
return Redirect("/");
}
当前的行为:令牌是理所当然的,但我的头仍然有“登录”按钮
预期的行为:令牌被授予“注销”按钮时,显示
目前的行为表明,我没有即使我拿着令牌认证。我知道我失去了一些东西令牌传递到HttpContext
来验证我的应用程序,但无法弄清楚什么。任何帮助,将不胜感激。
好了,你不登录的用户。您请求ID4一个访问令牌。通常你请求一个访问令牌,将其添加到一个请求(像你一样)来访问的资源。
请参考例子:https://github.com/IdentityServer/IdentityServer4.Samples/tree/master/Clients/src
有MVC的几个例子的实现。