有没有办法使用 JWT 和 Azure AD 令牌授权 Net Core 3.0 API
Is there a way to Authorize Net Core 3.0 APIs with JWT and also Azure AD Tokens
我正在创建一个包含身份验证(无身份)的 Web 服务,并且我使用 JWT 保护 APIS(当用户登录或注册时,令牌是 returned电子邮件、密码、姓名等),但我也有一个使用 MSAL 的 Microsoft login/register,我还创建了一个 Azure 应用程序。如何使用 Microsoft 验证登录到 return JWT,或者如何使用 JWT 和 Azure AD 实现 API 授权。
您目前已经注册了一个Azure应用程序,您可以将其设置为客户端应用程序,然后您需要创建一个后端应用程序代表api,然后让用户登录到你的客户端应用程序完成授权并获取访问令牌,最后使用访问令牌调用api应用程序。
操作过程如下:
首先暴露后台应用api,添加客户端应用
接下来,在 'API permissions' 下,让您的前端应用程序访问您的后端 api:
- 在 'API permissions' 下单击 'Add permission',然后单击 'My APIs' 选项卡。
- 找到您的后端应用程序和select适当的范围。
- 点击'Add permissions'。
- 为您的 API 授予管理员许可。
接下来,您需要使用auth code flow获取访问令牌,这需要您登录用户并获取授权码,然后使用授权码兑换访问令牌。
解析token:
终于可以使用令牌调用api了。
完整的sample供大家参考。
我正在创建一个包含身份验证(无身份)的 Web 服务,并且我使用 JWT 保护 APIS(当用户登录或注册时,令牌是 returned电子邮件、密码、姓名等),但我也有一个使用 MSAL 的 Microsoft login/register,我还创建了一个 Azure 应用程序。如何使用 Microsoft 验证登录到 return JWT,或者如何使用 JWT 和 Azure AD 实现 API 授权。
您目前已经注册了一个Azure应用程序,您可以将其设置为客户端应用程序,然后您需要创建一个后端应用程序代表api,然后让用户登录到你的客户端应用程序完成授权并获取访问令牌,最后使用访问令牌调用api应用程序。
操作过程如下:
首先暴露后台应用api,添加客户端应用
接下来,在 'API permissions' 下,让您的前端应用程序访问您的后端 api:
- 在 'API permissions' 下单击 'Add permission',然后单击 'My APIs' 选项卡。
- 找到您的后端应用程序和select适当的范围。
- 点击'Add permissions'。
- 为您的 API 授予管理员许可。
接下来,您需要使用auth code flow获取访问令牌,这需要您登录用户并获取授权码,然后使用授权码兑换访问令牌。
解析token:
终于可以使用令牌调用api了。
完整的sample供大家参考。