Code: Select all
import com.azure.identity.AuthorizationCodeCredential;
import com.azure.identity.AuthorizationCodeCredentialBuilder;
import com.microsoft.graph.beta.serviceclient.GraphServiceClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class GraphClientFactory {
@Value("${spring.security.oauth2.client.registration.microsoft.client-id}")
private String clientId;
@Value("${spring.security.oauth2.client.registration.microsoft.client-secret}")
private String clientSecret;
@Value("${msgraph.redirect-uri}")
private String redirectUri;
public GraphServiceClient createGraphClient(String authCode) {
AuthorizationCodeCredential credential = new AuthorizationCodeCredentialBuilder()
.clientId(clientId).clientSecret(clientSecret)
.authorizationCode(authCode).redirectUrl(redirectUri)
.build();
return new GraphServiceClient(credential);
}
}
< /code>
Aber ich kann keinen Anmeldeinformationsbuilder finden, der ein Zugriffstoken verwendet, und ich weiß keine andere Möglichkeit, einen GraphServiceClient zu erstellen. Vorzugsweise möchte ich meiner Klasse eine zusätzliche Methode hinzufügen: öffentlicher GraphServiceClient CREATEGRAPHCLIENTUSUSUCTACKESSTOKE (String AccessToken) < /code>
unten finden Sie die Abhängigkeiten, die ich derzeit verwende: < /p>
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-websocket'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
implementation 'com.microsoft.graph:microsoft-graph:6.27.0'
implementation 'com.microsoft.graph:microsoft-graph-beta:6.31.0'
implementation 'com.microsoft.graph:microsoft-graph-core:3.5.0'
implementation platform('com.azure:azure-sdk-bom:1.2.30')
implementation 'com.azure:azure-identity:1.15.1'
implementation 'com.azure.spring:spring-cloud-azure-starter:5.19.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
implementation 'org.projectlombok:lombok'
implementation 'jakarta.servlet:jakarta.servlet-api'
annotationProcessor 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}