Ich versuche, einen Kalendersync für verschiedene Organisationen zu rüben, um die Arbeit durch die Organisation zu verringern. Administratoren. > Manifestierte Bearbeitung (genau: Berechtigungen hinzufügen, Callback-URIs ändern ...) < /li>
Berechtigungsanwendung < /li>
< /ul>
2.) < /p>
Ich habe gesehen Autorisierung ... In jeder Autorisierung habe ich inzwischen versucht, nur eine Anmeldung über TenantID+ClientID (und einige verwenden auch ClientSecret) < /p>
--> Aber da die Organisation keine Apps erstellt Wie kann ich mich über Code anmelden? Entra (sie beginnen zum ersten Mal zu verwenden) < /p>
Code: Select all
public async Task CreateApp(string tenantId)
{
try
{
var confidentialClientApplication = ConfidentialClientApplicationBuilder.Create("clientId")
.WithClientSecret("clientSecret")
.WithAuthority(new Uri($"https://login.microsoftonline.com/{tenantId}"))
.Build();
var authProvider = new ClientCredentialProvider(confidentialClientApplication);
GraphServiceClient graphClientApp = new GraphServiceClient(authProvider);
var newApp = new Application
{
DisplayName = "My New Application",
SignInAudience = "AzureADMyOrg", // Single tenant app
Api = new ApiApplication
{
RequestedAccessTokenVersion = 2
}
};
var result = await graphClientApp.Applications.PostAsync(newApp);
}
catch (Exception ex) { }
} ```
< /code>
3.) Hier ist meine funktionierende Autorisierung, die ich für Kalendersync verwende (funktioniert einwandfrei), aber das Problem liegt in der App -Erstellung. < /p>
TokenCachePersistenceOptions TokenCachePersistenceOptions = new TokenCachePersistenceOptions { UnsafeAllowUnencryptedStorage = true };
InteractiveBrowserCredential credential = null;
credential = new InteractiveBrowserCredential(new InteractiveBrowserCredentialOptions
{
TenantId = tenantId,
ClientId = clientId,
AuthorityHost = AzureAuthorityHosts.AzurePublicCloud,
RedirectUri = new Uri("http://localhost"),
TokenCachePersistenceOptions = TokenCachePersistenceOptions
});
GraphClient = new GraphServiceClient(credential);