Authentication Microsoft Graph API V3-标识提供程序
有没有一种方法可以将V3 Microsoft Graph Java SDK与授权头一起使用?在V1和V2中,我有以下内容:Authentication Microsoft Graph API V3-标识提供程序,authentication,microsoft-graph-api,Authentication,Microsoft Graph Api,有没有一种方法可以将V3 Microsoft Graph Java SDK与授权头一起使用?在V1和V2中,我有以下内容: IAuthenticationProvider authenticationProvider = new IAuthenticationProvider() { @Override public void authenticateRequest(IHttpRequest request) { request.addHeader(AUTHORI
IAuthenticationProvider authenticationProvider = new IAuthenticationProvider() {
@Override
public void authenticateRequest(IHttpRequest request) {
request.addHeader(AUTHORIZATION_HEADER_NAME, OAUTH_BEARER_PREFIX + accessToken);
}
};
IGraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider(authenticationProvider).buildClient();
但是使用V3 SDK和ICoreAuthenticationProvider,我可以创建的唯一客户端是OKHTTP,而不是IGraphServiceClient,我丢失了所有的“Microsoft API”(我得到一个字符串响应,需要“解组”…)
谢谢,Microsoft Graph Java SDK现在利用它来改善身份验证体验。要与Microsoft Identity platform集成,请使用Microsoft Java身份验证库()。此库支持并改进了配置体验。要升级应用程序,请执行以下操作:
- 删除对microsoft graph auth的任何依赖项,并将其替换为MSAL4J中提供的一个提供程序
- 重新考虑是否需要自定义身份验证提供程序(实施
或iaauthenticationprovider
),这些提供程序可能是项目的一部分,并尽可能使用azure identity中提供的提供程序ICoreAuthenticationProvider
final ClientSecretCredential clientSecretCredential = new ClientSecretCredentialBuilder()
.clientId(CLIENT_ID)
.clientSecret(CLIENT_SECRET)
.tenantId(TENANT_GUID)
.build();
final TokenCredentialAuthProvider authProvider = new TokenCredentialAuthProvider(SCOPES, clientSecretCredential);
final GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider(authProvider).buildClient();
请参阅此处以获取更多示例
让我知道这是否有帮助,如果你有进一步的问题