Ich habe eine Möglichkeit implementiert, um meine Web API 2 mit Xamarin Forms über MSAL-Authentifizierung zu konsumieren. Es funktioniert großartig auf UWP, aber ich kann nicht auf der Android-Plattform authentifizieren.MSAL Authentifizierung mit Xamarin und Android
Ich bekomme immer eine Authorization has been denied for this request.
Der Code für die Authentifizierung wie folgt aussieht:
public static PublicClientApplication IdentityClientApp = null;
internal static void InitializeLogin(PlatformParameters platformParameters)
{
App.IdentityClientApp = new PublicClientApplication(Constants.ApplicationID);
if (platformParameters != null)
App.IdentityClientApp.PlatformParameters = platformParameters;
ich das erste Token auf diese Weise erhalten:
public async Task SignIn()
{
if (App.IdentityClientApp != null)
this.authenticationResult = await App.IdentityClientApp.AcquireTokenAsync(new String[] { Constants.ApplicationID });
}
und erfrischen sie vor jedem Anruf zu meiner API wie das:
public async Task<String> RefreshToken()
{
if (App.IdentityClientApp != null)
{
this.authenticationResult = await App.IdentityClientApp.AcquireTokenSilentAsync(new String[] { Constants.ApplicationID });
}
return (this.authenticationResult.Token);
}
In meinem Android MainActivity.cs, nenne ich die Login-Initialisierungsverfahren mit dem platformParameters:
App.InitializeLogin(new PlatformParameters(this));
Um das Problem einzugrenzen, dekodieren Sie bitte das access_token von dieser Site, um zu überprüfen, ob der 'aud' -Anspruch mit der ** audience ** config übereinstimmt, um die Web API zu schützen. –
Danke für die Antwort. Das Publikum scheint recht zu haben, da ich dort meine ApplicationID sehe. –