使用MASL java SDK在java开发的azure功能中对用户进行身份验证的指南

6l7fqoea  于 2022-12-24  发布在  Java
关注(0)|答案(1)|浏览(164)

请帮助我找到有关如何使用Java MASL SDK获取服务主体的access_token的文档。我希望找到可以指导我如何使用MASL库(包括代码示例)的文档或GIT链接。
我已经通过这个链接,但它没有帮助我太多:https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows
而且,我并不期望在这里分享代码示例。我只是想找到在哪里可以找到这样的数据。当谈到寻找关于azure学习的正确知识时,我很挣扎。我在这里错过了什么?是否有任何azure参考链接可以在一个集中的地方找到这样的信息?

j2qf4p5b

j2qf4p5b1#

    • 请注意**,根据您的要求,如果您希望用户登录并进行身份验证,则可以使用Authorization code Flow;如果您希望使用应用程序访问API,则可以使用Client Credential Flow
      我尝试在我的环境中重现相同的结果,结果如下:

我创建了Azure AD应用程序并添加了API权限:

有关客户端凭据流,请参考 * siddhijain * 的GitHub博客。
使用MASL java SDK在java开发的azure函数中对用户进行认证。
假设您要对用户进行身份验证,则可以使用**Authorization code Flow生成访问令牌。
我使用以下终结点生成了
授权代码**:

https://login.microsoftonline.com/TenantID/oauth2/v2.0/authorize?
&client_id=ClientID
&response_type=code
&redirect_uri=RedirectUri
&response_mode=query
&scope=https://management.azure.com/user_impersonation
&state=12345

将出现登录屏幕,用于验证用户身份:

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

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

client_id:ClientID
client_secret:ClientSecret
scope:https://management.azure.com/user_impersonation
grant_type:authorization_code
redirect_uri:RedirectUri
code:code

我能够使用上述生成的访问令牌调用函数:

要在MSAL Java库中实现上述内容,请参考以下GitHub博客:
Microsoft-authentication-library-for-js/msal-node/auth-code AzureAD by derisen
rgins16开发的用于js/示例/msal节点AzureAD的Microsoft身份验证库

相关问题