首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java使用现有的GraphClient (5.13.0版本)获取AccessToken

Java使用现有的GraphClient (5.13.0版本)获取AccessToken
EN

Stack Overflow用户
提问于 2022-02-09 22:22:26
回答 1查看 988关注 0票数 0

我们的前端使用PKCE流并获取访问令牌。按照旧的实现(microsoft-graph@2.8.1版本),下面的代码段使用现有的访问令牌获取Graph。现在,我无法在新的中完成同样的工作。

代码语言:javascript
复制
IGraphServiceClient client = GraphServiceClient.builder()
                        .authenticationProvider( request -> request.addHeader("Authorization", "Bearer " + tokenAuthentication.getToken().getTokenValue()) )
                        .buildClient(); 

已添加到项目中的依赖项

代码语言:javascript
复制
<dependency>
            <!-- Include the sdk as a dependency -->
            <groupId>com.microsoft.graph</groupId>
            <artifactId>microsoft-graph</artifactId>
            <version>5.13.0</version>
        </dependency>
        <dependency>
            <!-- This dependency is only needed if you are using the TokenCrendentialAuthProvider -->
            <groupId>com.azure</groupId>
            <artifactId>azure-identity</artifactId>
            <version>1.2.5</version>
        </dependency>
EN

回答 1

Stack Overflow用户

发布于 2022-02-10 14:48:48

终于起作用了..。见下文片段..。

代码语言:javascript
复制
IAuthenticationProvider authProvider = new IAuthenticationProvider() {
            
            @Override
            public CompletableFuture<String> getAuthorizationTokenAsync(URL requestUrl) {
                CompletableFuture<String> future = new CompletableFuture<>();
                future.complete(yourToken);
                return future;
            }
        };
        
        GraphServiceClient<Request> graphClient = GraphServiceClient
                .builder()
                .authenticationProvider(authProvider)
                .buildClient();

         return graphClient.me().buildRequest().get();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71057550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档