如何从一个 MVC5 应用程序获取访问令牌到另一个 MVC5 应用程序
Posted
技术标签:
【中文标题】如何从一个 MVC5 应用程序获取访问令牌到另一个 MVC5 应用程序【英文标题】:How to get access token from one MVC5 application to another MVC5 application 【发布时间】:2020-12-02 12:01:31 【问题描述】:我正在尝试将访问令牌从一个 .net MVC 应用程序获取到另一个 MVC 应用程序。我的要求是: 我在同一个解决方案下有两个 .net MVC 项目“A”和“B”,其中身份验证在项目“A”下完成。我希望项目“B”使用来自项目“A”的身份验证令牌。
请提出合适的方法。
【问题讨论】:
更多细节可能会有所帮助:您使用哪种访问令牌?你如何在一个应用程序中传递它?你运行完整的 .net 框架还是 .net 核心?你是在 Windows IIS 还是 Linux/Docker 上运行它? 您要实现的目标称为单点登录 (SSO),其中登录一个应用程序的用户可以自动登录另一个应用程序。但是你的方法不对。应用程序“B”不应从应用程序“A”获取令牌,而是直接转到“Auth Server”并从那里获取令牌。由于用户已经登录,'Auth Server' 不会再次询问凭据并直接传递令牌(如果用户已允许应用程序'B')。 【参考方案1】:您可以在您的应用程序之间共享身份验证 cookie。我在一个拆分为多个项目和子域的门户中实现了这个解决方案。
ASP.NET Core:
Share authentication cookies among ASP.NET apps
ASP.NET 4.x:
Sharing Authorization Cookies
【讨论】:
以上是关于如何从一个 MVC5 应用程序获取访问令牌到另一个 MVC5 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
带有 Facebook 访问令牌的 MVC 5 Web API 到 RegisterExternal,无需 Cookie
如何使用 jQuery 或 php 从 Instagram 令牌获取访问令牌
如何从 bitbucket 云上的 bitbucket 存储库获取 HTTP 访问令牌