2017-09-21 1 views
0

Ich entwickle ASP.NET Core-Anwendung, die Azure AD B2C für die Benutzerverwaltung verwendet. Ich möchte das Anmeldeformular in mehreren Sprachen lokalisiert haben. Ich habe neue Sprachen für Richtlinien im Azure AD B2C-Verwaltungsdashboard im Azure-Portal hinzugefügt.UI-Locales in Azure AD setzen B2C-Anmeldung über die Anwendung (.NET Core)

Jetzt möchte ich ui-locales Parameter (wie auf this documentation page beschrieben) beim Aufruf von Azure AD B2C aus meiner Anwendung. Dies ist ein Stück, das ich nicht erreichen kann, da ich nicht sicher bin, wo ich diesen Parameter injizieren kann und Hilfe brauche.

+0

Beachten Sie, dass unten in Saca Antwort, der Query-String-Parameter ui_locales unterstreichen hat und nicht einen Strich (wie in Ihre Frage). –

+0

@marek_lani Können Sie diese Frage bitte als beantwortet markieren? –

Antwort

1

ist Es gibt zwei Möglichkeiten Lokalisierung zu unterstützen:

  • Let B2C dienen die entsprechende Sprache basierend auf der Browsereinstellungen des Benutzers. Dafür sollten Sie keinen ui_locales-Parameter übergeben müssen, nur enable localization, define the languages you want to support und B2C werden das Richtige für Sie tun.

  • Alternativ können Sie explizit B2C sagen, welche durch Senden der ui_locales Query-String-Parameter in Ihrer Autorisierungsanforderung zu dienen locale, zum Beispiel: ui_locales=en-us

Voll Beispiele:

In C# und ASP.Net, ist eine Option, dies zu tun ist durch die Query-String-Parameter in dem OnRedirectToIdentityProvider Ereignisse hinzugefügt werden (siehe this Beispiel, wenn das Ereignis für etwas verwendet wird, sonst würden Sie das gleiche Muster verwenden).

1

Die Wingtip Spiele Probe bei here setzt die ui_locales Abfrage-String-Parameter in dem OnRedirectToIdentityProvider Ereignisse wie folgt:

// If an Account controller action has set a UI locale (e.g. to "fr"), then set the UI locales parameter for 
// the authentication request to this UI locale. 
if (context.Properties.Items.ContainsKey(Constants.AuthenticationPropertiesKeys.UILocales)) 
{ 
    context.ProtocolMessage.UiLocales = context.Properties.Items[Constants.AuthenticationPropertiesKeys.UILocales]; 
    context.Properties.Items.Remove(Constants.AuthenticationPropertiesKeys.UILocales); 
} 
Verwandte Themen