jwt—从应用程序检索访问令牌后,尝试在java中调用microsoft graph api

6bc51xsx  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(421)

我试着在网上学习一些例子,但它们并不是很有帮助,而且微软的官方文档可能有些混乱,到处都是。
我有令牌,它在头中包含nonce。
我已经在pom.xml文件中添加了microsoft graph依赖项,所有内容都已设置好,但我不确定如何使用access令牌实际实现该方法,并使调用者获得登录用户信息。
https://graph.microsoft.com/v1.0/me
我已经在azure中设置了我的应用程序,并添加了api权限。
任何正确方向的帮助或指导都是有帮助的。

lh80um4z

lh80um4z1#

您可以参考登录用户请求的示例,请参见此处。

IGraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();

// for "/me" endpoint    
User user = graphClient.me().buildRequest().get(); 

// for "/users/{id | userPrincipalName}" endpoint
// User user = graphClient.users("{id}").buildRequest().get()

使用accesstoken获取authprovider,请参阅本文:

public IGraphServiceClient getAuthProvider() {
    IAuthenticationProvider mAuthenticationProvider;

    try {
        String accessToken = "xxxxxxxxxxxxx";
        mAuthenticationProvider = request -> request.addHeader("Authorization", "Bearer " + accessToken);
    } catch (Exception e) {
        throw new Error("Could not create a graph client: " + e.getLocalizedMessage());
    }

    return GraphServiceClient.builder()
                             .authenticationProvider(mAuthenticationProvider)
                             .buildClient();
}

有关详细信息,请使用microsoft graph SDK with java进行api调用。

相关问题