Azure Active Directory - ID令牌可转换为授权令牌(访问令牌)

nkoocmlb  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(194)

我的任务是在Azure中创建一个服务,将来自互联网的令牌转换为登录令牌,并将其转换为访问令牌,以便用户可以通过OAuth令牌访问REST API-就像JWT一样。
所以我可以对内部用户使用SSO,对外部用户使用双向身份验证,然后我需要将其转换为JWT,这样我就可以对我的逻辑应用程序进行身份验证。
我可以看到,我可能会使用Azure函数来执行此任务,并调用REST API来获取访问令牌。
我想看看其他人是如何做到这一点的,因为似乎有很多方法可以做到这一点。我是否需要走C sharp,MSAL和Azure函数的路线,或者是否有一个更快完成的低代码选项?
任何帮助建议将是真棒

46qrfjad

46qrfjad1#

注意:ID令牌无法转换为Azure Active Directory中的访问令牌。

  • 使用访问令牌,客户端应用可以使用特定资源来代表用户执行特定任务。用于授权
  • ID令牌证明用户已被验证/认证。

根据您的需求,您可以通过编写脚本或使用REST API来生成访问令牌。
我使用下面的端点生成了auth-code来验证个用户:

https://login.microsoftonline.com/TenantID/oauth2/v2.0/authorize? 
client_id=ClientID
&response_type=code  
&redirect_uri=https://jwt.ms
&response_mode=query  
&scope=https://graph.microsoft.com/.default
&state=12345

用户登录后,代码成功生成,如下所示:

我使用以下参数生成了访问令牌

https://login.microsoftonline.com/TenantID/oauth2/v2.0/token

client_id:ClientID
grant_type:authorization_code
scope:https://graph.microsoft.com/.default openid offline_access
code:code
redirect_uri:https://jwt.ms
client_secret:ClientSecret

您可以选择任何身份验证方法,如 * 客户端凭据 隐式流 * 或 * 授权码 *。

参考资料

Acquire a token from the cache (MSAL.NET) - Microsoft Entra
OAuth 2.0 Authorization Code Flow with Azure Functions and Microsoft Identity : Getting an Access Token by Brett McKenzie

相关问题