我有一个.Net核心的MVC客户端,它使用identityserver 4 .
返回视图的方法受authorize属性保护 .
但是如何使用MVC客户端具有相同的身份验证数据来调用Web API(这是在不同URL上运行的独立项目)?
或者我是否必须使用oidc javascript客户端再次进行身份验证?
有没有什么办法可以从已经过身份验证的MVC客户端获取持有者令牌来授权我的javascript客户端访问Web API?
在MVC控制器操作中获取访问令牌,并将其传递给ViewBag中的操作视图或任何内容,甚至直接在剃刀视图中获取 .
这是一个例子:https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Clients/src/MvcHybrid
注意Startup类,HomeController和this view .
services.AddAuthentication(options => {...}) .AddOpenIdConnect("oidc", options => { ... options.SaveTokens = true; ... }
var token = await HttpContext.GetTokenAsync("access_token"); // use token
1 回答
在MVC控制器操作中获取访问令牌,并将其传递给ViewBag中的操作视图或任何内容,甚至直接在剃刀视图中获取 .
这是一个例子:https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Clients/src/MvcHybrid
注意Startup类,HomeController和this view .
启动:
控制器/视图: