c# - 在 ASP.NET Core MVC 中重定向到具有 api 响应的页面
问题描述
我有一个带有 httpGET
方法的 api 控制器。此方法是从前端调用的。为此,我想将用户重定向到仪表板页面并提供一些登录响应对象。当请求进入此方法时,它来自不同的页面。
api/accounts/loginobject
当第三方身份服务器发送 oauth2 身份验证时,请求通过路径到达此方法。这是一个重定向 url 方法。
[HttpGet]
[Route("LoginObject")]
public async Task<IActionResult> getLoginObject()
{
var externalLoginInfo = await this.signInManager.GetExternalLoginInfoAsync().ConfigureAwait(false);
// parse token here
}
我尝试了下面的代码,它可以工作。但我不知道我们是否可以在下面的响应中发送响应对象。我想在标题中附加令牌并在响应正文中附加一些信息。
// dashboard is a ui page not another controller action
return Redirect("/dashboard");
前端应用程序是 ASP.NET Core MVC 项目的 Angular 应用程序部分。我有一个第三方身份服务器,它将 oauth2 结果发送回这个控制器。
以下将设置标题,但当重定向到 html 页面 /dashboard 时它将丢失。我仍然无法使用访问令牌响应 ui
this.Response.Headers.Add("Authorization", $"Bearer {accessToken}");
更新:
我通过在查询字符串中传递令牌暂时解决了这个问题。它现在看起来更像是一个黑客。一旦在 ui 中收到它,我会将它设置在 web 应用程序本地存储中以供后续 api 调用。
https://mywebsite/accesstokencallback?access_token=eybcsdfk23klsd-3dsfjs
解决方案
推荐阅读
- html - 如何防止元素大
- 从 flexbox 布局中溢出的主体
- r - lmer - “无效的分组因子规范”
- python - Selenium python Access Denied 您无权访问此服务器上的“网站”
- javascript - GSAP CDN 在 javascript 或 html 文件中不起作用
- flutter - 当我打开一个开关时,所有其他开关也都打开
- c# - Visual Studio调试模式下Watch上显示的变量值
- c# - c# net core 3.1 razor pages如何使用image类
- python - 如何禁用键盘上的一个特定键?
- node.js - 在 Expo 中使用第三方 SMS 提供商进行 Firebase 电话登录
- windows - 如何删除 30 天前的文件并在 powershell 中保留每个月的最后一天文件