实现对 api 的 oAuth2 身份验证调用的指南
Guide for implementing oAuth2 authenticated calls to an api
我有开发人员 API 受 oAuth2 和 Azure B2C 保护。我现在想从使用 Forms 作为身份验证机制的遗留 Web 表单应用程序访问 API。
我已在客户端成功使用 hellojs 在单独的浏览器中触发身份验证方法 window,然后成功使用访问令牌调用我的 API 但我如何从服务器端?
我在设置 oAuth2 时看到的所有示例都涉及使用 OWIN 中间件(例如使用 Facebook 登录等)保护 API,但我需要保留现有的表单身份验证并简单地调用代码调用 API 并处理访问 code/token 等
如果我需要后端系统代表用户发出请求,我应该将访问令牌安全地存储在某个地方吗?
最简单的方法是让用户分别针对 B2C 进行身份验证。从 "linking" 他们在您的 Web Forms 应用程序中的帐户到他们的 B2C 帐户来考虑这一点。如果您还从 Azure B2C 请求 offline_access
,您将收到一个刷新令牌,您可以在需要时用它交换有效的访问令牌。
理想情况下,您应该远离表单身份验证。这是一个非常过时的模型。但是,这可能是 non-trivial 的工作量,这就是为什么许多人经常选择从 "linking" 策略开始,并且只在对应用程序进行更大规模的重构时才处理 Forms Auth。
我有开发人员 API 受 oAuth2 和 Azure B2C 保护。我现在想从使用 Forms 作为身份验证机制的遗留 Web 表单应用程序访问 API。
我已在客户端成功使用 hellojs 在单独的浏览器中触发身份验证方法 window,然后成功使用访问令牌调用我的 API 但我如何从服务器端?
我在设置 oAuth2 时看到的所有示例都涉及使用 OWIN 中间件(例如使用 Facebook 登录等)保护 API,但我需要保留现有的表单身份验证并简单地调用代码调用 API 并处理访问 code/token 等
如果我需要后端系统代表用户发出请求,我应该将访问令牌安全地存储在某个地方吗?
最简单的方法是让用户分别针对 B2C 进行身份验证。从 "linking" 他们在您的 Web Forms 应用程序中的帐户到他们的 B2C 帐户来考虑这一点。如果您还从 Azure B2C 请求 offline_access
,您将收到一个刷新令牌,您可以在需要时用它交换有效的访问令牌。
理想情况下,您应该远离表单身份验证。这是一个非常过时的模型。但是,这可能是 non-trivial 的工作量,这就是为什么许多人经常选择从 "linking" 策略开始,并且只在对应用程序进行更大规模的重构时才处理 Forms Auth。