Azure-docs: Integrieren Sie den App-Service in die Anmeldung mit Apple

Erstellt am 6. Feb. 2020  ·  65Kommentare  ·  Quelle: MicrosoftDocs/azure-docs

Das Identifizieren von Anbietern ist einfach hinzuzufügen, aber wir haben große Probleme, herauszufinden, wie Sie die Anmeldung bei Apple hinzufügen können. Dies ist jetzt eine Voraussetzung für alle neuen Apps. Dieser Link beschreibt Azure AD B2C. Ist dies jedoch dasselbe wie Azure Active Directory? Und wie man das alles wie mit Facebook verbindet.
https://github.com/azure-ad-b2c/samples/tree/master/policies/sign-in-with-apple

Ich würde gerne irgendwann ein Token und Sid: xxx von EasyAuth mit Anmeldung mit Apfel sehen. Ist es möglich, dass alle diese Anbieter kompatibel sind, oder was sollten wir erwarten?


Dokumentdetails

Bearbeiten Sie diesen Abschnitt nicht.

Pri1 app-servicsvc cxp product-question review-team-triage triaged

Hilfreichster Kommentar

@gfaraj Ich habe das Produktteam um Updates

BEARBEITEN: Die Token-Aktualisierung wird mit generischem OIDC nicht unterstützt, aber das Team arbeitet an einer Lösung, um diese Einschränkung zu beheben. Wenn weitere Details verfügbar sind, werden wir sie teilen.

/ cc @mattchenderson

Alle 65 Kommentare

Danke für das Feedback @ m-andersen! Wir untersuchen derzeit und werden Sie in Kürze aktualisieren.

Vielen Dank. Wir freuen uns sehr auf eine Lösung hierfür, da wir unsere App erst dann in den Apple App Store stellen können, wenn die Anmeldung mit Apple implementiert ist. Wenn dies zu lange dauert, müssen wir unser gesamtes Authentifizierungsschema ändern und einen anderen Authentifizierungsanbieter verwenden, da wir jetzt live gehen müssen.

@ RyanHill-MSFT irgendwelche Updates?

Hi @ m-andersen, ich entschuldige mich für die lange Verzögerung. Die nächste Problemumgehung, auf die ich gestoßen bin, ist möglicherweise die Verwendung benutzerdefinierter Richtlinien , damit sich Ihre AD-Benutzer bei Ihrem B2C-Mandanten anmelden können. Sie müssen diesen B2C-Mandanten weiterhin verwalten, sind jedoch möglicherweise die einzige Option, da ich höre, dass die Anmeldung bei Apple für Azure AD nicht unterstützt wird.

@ RyanHill-MSFT Diese Frage bezog sich auf Azure App-Dienste und Authentifizierungsanbieter wie Facebook. Google wird heute unterstützt, aber nicht mit Apple anmelden. Dies ist eine Voraussetzung für alle neuen Apps, die an den Apple App Store gesendet werden. Wir haben unsere App mit dem Azure-App-Dienst (jetzt Web-App genannt) und den von ihm unterstützten Authentifizierungsanbietern erstellt.
Wir müssen die Anmeldung mit Apple hinzufügen, aber der Azure App-Dienst unterstützt dies nicht. Wie können wir vorgehen, um unsere App zu starten?

Hi @ m-andersen Ich habe mit dem Produktteam gesprochen. Da die Anmeldung bei Apple OpenID Connect-kompatibel ist, arbeitet das Team derzeit an dieser Integration. Es befindet sich derzeit in einer privaten Vorschau, aber ich kann vorläufige Unterlagen weitergeben und Sie mit dem Team in Verbindung setzen, da diese von Kunden, die diese Funktion verwenden, ein besseres Verständnis erhalten.

E-Mail an AzCommunity [at] microsoft [dot] com ATTN: Ryan.

Bitte schließe

Hallo @ RyanHill-MSFT

Gibt es ein Update, wann dies eintrifft? Ich glaube, die von Apple festgelegte Frist ist der 30. Juni 2020

@ RyanHill-MSFT +1 auf Update-Anfrage

@ RyanHill-MSFT +1, würde mindestens eine ETA lieben, idealerweise vor dem 30.06. ... Vielen Dank im Voraus!

Ich habe das Produktteam kontaktiert und sie versuchen, mit der nächsten Version eine öffentliche Vorschau zu erstellen. Aufgrund der aktuellen Situation wurden Bereitstellungen verzögert, sodass keine genaue ETA angegeben werden kann. Hoffentlich wird es bald sein, kann aber keine Daten garantieren.

Wir hatten keine Zeit, auf eine Lösung für App Service zu warten. Wir sind auch überrascht, dass einer der größten Cloud-Anbieter dies derzeit nicht hat.
Wir haben uns entschlossen, Microsoft EasyAuth vollständig aufzugeben, und sind zu Firebase gewechselt, das seit November letzten Jahres die Apple-Anmeldung unterstützt.
Dies ist leider nicht das letzte Mal, dass Microsoft uns als Startup-Unternehmen enttäuscht hat.

Gibt es ein Update dazu?

Gibt es ein Update dazu?

Ich empfehle, den Auth-Teil auf Firebase umzustellen. Das haben wir gemacht. Es ist einfach zu integrieren und unterstützt so viele weitere Identitätsanbieter.

Firebase ist interessant, aber in unserem Fall etwas teurer. Wenn MS es diesen Monat tut, würde ich lieber warten als die Waffe zu springen. Das einzige, was jetzt nicht funktioniert, ist die EasyAuth-Integration. Wir müssen wissen, ob sie unterstützt wird, oder wir sollten eine alternative Lösung finden.

Firebase ist interessant, aber in unserem Fall etwas teurer. Wenn MS es diesen Monat tut, würde ich lieber warten als die Waffe zu springen. Das einzige, was jetzt nicht funktioniert, ist die EasyAuth-Integration. Wir müssen wissen, ob sie unterstützt wird, oder wir sollten eine alternative Lösung finden.

Deine Entscheidung. Die Verwendung der Firebase-Authentifizierung ist kostenlos. Dies ist das einzige, was zusätzlich zum App-Service hinzugefügt werden muss. Andere Dienste können etwas kosten.

Firebase ist kostenlos, wenn Sie weniger als 10.000 Auth / Monat ausführen, und ziemlich teuer, wenn Sie mehr als das tun. Es ist eine Falle für Startups.

Ich wollte ein Update für alle bereitstellen. Das Produktteam steht kurz vor einer öffentlichen Vorschau der Anmeldung mit Apple-Integration. Das COVID-19 hat die Zeitpläne für die Erstellung und den Zeitplan der Veröffentlichung beeinflusst, und wir entschuldigen uns für diese Verzögerungen. Ich kann keine genaue ETA angeben, aber hoffentlich wird es diesen Monat sein.

/ cc @vignatov @ m-andersen @masonmc @zababahin

@ RyanHill-MSFT Ich habe gerade mein App-Update von Apple abgelehnt bekommen.

Richtlinie 4.8 - Design - Melden Sie sich bei Apple an
Wir haben festgestellt, dass Ihre App einen Anmeldedienst eines Drittanbieters verwendet, jedoch keine Anmeldung bei Apple anbietet.

Eine Suche hat mich hierher gebracht. Wie wird dieses Problem geschlossen? Die Frist war 30. Juni, gibt es keine Lösung?

@ m-andersen können wir unsere Benutzer "einfach" auf Firebase migrieren?

@ RyanHill-MSFT Ich habe gerade mein App-Update von Apple abgelehnt bekommen.

Richtlinie 4.8 - Design - Melden Sie sich bei Apple an

Wir haben festgestellt, dass Ihre App einen Anmeldedienst eines Drittanbieters verwendet, jedoch keine Anmeldung bei Apple anbietet.

Eine Suche hat mich hierher gebracht. Wie wird dieses Problem geschlossen? Die Frist war 30. Juni, gibt es keine Lösung?

@ m-andersen können wir unsere Benutzer "einfach" auf Firebase migrieren?

@NunoBem Das Produktteam hat eine öffentliche Vorschau zur Veröffentlichung bereit. Die Veröffentlichungspläne wurden aufgrund der aktuellen Pandemie durcheinander gebracht. Nicht dass es eine Ausrede wäre, sondern ein Grund für solche Verzögerungen. Kontaktieren Sie mich unter _AzCommunity [at] microsoft [dot] com_, damit ich Ihnen das Dokument zur Verwendung der OpenID-Konfiguration zur Verfügung stellen kann, damit Sie Ihre App zertifizieren können. Ich entschuldige mich auf jeden Fall für diese Lücke, aber seien Sie versichert, dass das Team daran arbeitet, die Lücke zu schließen.

@ RyanHill-MSFT Ich habe gerade mein App-Update von Apple abgelehnt bekommen.

Richtlinie 4.8 - Design - Melden Sie sich bei Apple an
Wir haben festgestellt, dass Ihre App einen Anmeldedienst eines Drittanbieters verwendet, jedoch keine Anmeldung bei Apple anbietet.

Eine Suche hat mich hierher gebracht. Wie wird dieses Problem geschlossen? Die Frist war 30. Juni, gibt es keine Lösung?

@ m-andersen können wir unsere Benutzer "einfach" auf Firebase migrieren?
@NunoBem Wir haben die Firebase-Authentifizierung in den Server integriert. Sie müssen jedoch Ihre eigene Lösung finden, wenn Sie vorhandene Benutzer migrieren müssen. Wir waren noch nicht öffentlich und hatten Glück, dass sich Benutzer-IDs auf dem Server ändern konnten, ohne dass alles kaputt ging

Hallo @ m-andersen, ich habe Ihnen gerade eine E-Mail gesendet, in der erläutert wird, wie Sie Ihre Azure-App mit der Anmeldung bei Apple konfigurieren. Sollten Sie auf Probleme stoßen, lassen Sie es mich bitte wissen.

Wir haben https://docs.microsoft.com/en-us/azure/app-service/configure-authentication-provider-openid-connect veröffentlicht , das Anweisungen zum Konfigurieren der Anmeldung bei Apple mit App-Diensten enthält. Wenn Sie auf Probleme stoßen, lassen Sie es mich bitte wissen.

/ cc @ m-andersen @NunoBem @vignatov @masonmc @zababahin @yonkahlon

@ RyanHill-MSFT Ich habe versucht, der Anleitung zu folgen: https://github.com/azure-ad-b2c/samples/tree/master/policies/sign-in-with-apple
und vergleichen Sie dann mit dem Dokument, das Sie gesendet haben, um Anpassungen vorzunehmen. Aber ich kann das nicht schaffen. Ich habe die Azure-Funktionen im Beispiel implementiert und den App-Dienst nicht verwendet. Dies scheint jedoch für das von Ihnen gesendete Dokument der Fall zu sein.

Kann das Beispiel nicht aktualisiert werden? Wird die Anmeldung bei Apple ein "Identitätsanbieter" sein?

Selbst wenn dies funktioniert, sollte die App abgelehnt werden. Dies ist die typische Antwort: "Ihre App verwendet Anmelden mit Apple als Anmeldeoption, verwendet jedoch Anmelden mit Apple-Schaltflächendesign, Branding und / oder Elementen der Benutzeroberfläche nicht entsprechend wie in den Richtlinien für die Anmeldung mit Apple Human Interface beschrieben. "

Dies ist für einen Identitätsverwaltungsdienst sehr chaotisch. Ich zähle die Tage, an denen ich unsere App nicht für unsere Kunden aktualisieren kann.

@ RyanHill-MSFT Ich habe versucht, der Anleitung zu folgen: https://github.com/azure-ad-b2c/samples/tree/master/policies/sign-in-with-apple
und vergleichen Sie dann mit dem Dokument, das Sie gesendet haben, um Anpassungen vorzunehmen. Aber ich kann das nicht schaffen. Ich habe die Azure-Funktionen im Beispiel implementiert und den App-Dienst nicht verwendet. Dies scheint jedoch für das von Ihnen gesendete Dokument der Fall zu sein.

Kann das Beispiel nicht aktualisiert werden? Wird die Anmeldung bei Apple ein "Identitätsanbieter" sein?

Selbst wenn dies funktioniert, sollte die App abgelehnt werden. Dies ist die typische Antwort: "Ihre App verwendet Anmelden mit Apple als Anmeldeoption, verwendet jedoch Anmelden mit Apple-Schaltflächendesign, Branding und / oder Elementen der Benutzeroberfläche nicht entsprechend wie in den Richtlinien für die Anmeldung mit Apple Human Interface beschrieben. "

Dies ist für einen Identitätsverwaltungsdienst sehr chaotisch. Ich zähle die Tage, an denen ich unsere App nicht für unsere Kunden aktualisieren kann.

Hallo @NunoBem , ich werde mich mit dem Update des Beispielcodes Konfiguration nicht zu Ihrer Funktions-App hinzufügen? Ihre Funktions-App hat keinen Einfluss auf die Richtlinien für die Benutzeroberfläche, da diese von Ihrer iOS-App stammen sollten, nicht von der Funktions-App.

Schließen als OpenID Connect-Anbieter konfigurieren (Vorschau) - Azure App Service wurde freigegeben. Wenn Probleme auftreten, reichen Sie bitte Probleme mit diesem Dokument ein.

Hallo @ RyanHill-MSFT, danke für das Update. Wenn ich dieses Dokument richtig betrachte, habe ich zwei Fragen:

  1. Ich habe andere Anbieter über das Azure-Portal konfiguriert. Wenn ich die dateibasierte Konfiguration für die Apple-Anmeldung aktiviere, werden die anderen Anbieter, die ich bereits eingerichtet habe, verloren gehen. Gibt es eine Möglichkeit, die aktuelle Konfiguration zu exportieren / kopieren, um die Datei einfach neu zu erstellen?

  2. Ich sehe nicht, was ich tun muss, um Provider-Token zu validieren, wenn ich die clientbasierte Authentifizierung verwende. Grundsätzlich die Informationen im Abschnitt Token von Anbietern validieren in diesem Dokument:
    https://docs.microsoft.com/en-us/azure/app-service/app-service-authentication-how-to

Jede Richtung wird sehr geschätzt.

Hallo @ RyanHill-MSFT, danke für das Update. Wenn ich dieses Dokument richtig betrachte, habe ich zwei Fragen:

  1. Ich habe andere Anbieter über das Azure-Portal konfiguriert. Wenn ich die dateibasierte Konfiguration für die Apple-Anmeldung aktiviere, werden die anderen Anbieter, die ich bereits eingerichtet habe, verloren gehen. Gibt es eine Möglichkeit, die aktuelle Konfiguration zu exportieren / kopieren, um die Datei einfach neu zu erstellen?
  2. Ich sehe nicht, was ich tun muss, um Provider-Token zu validieren, wenn ich die clientbasierte Authentifizierung verwende. Grundsätzlich die Informationen im Abschnitt Token von Anbietern validieren in diesem Dokument:
    https://docs.microsoft.com/en-us/azure/app-service/app-service-authentication-how-to
    Jede Richtung wird sehr geschätzt.

Hallo @gfaraj

  1. Derzeit gibt es keine Übersetzung. Das funktioniert jedoch, bringen Sie diese Funktion in eine zukünftige Iteration (noch keine Zeitleiste).
  2. Wenn Sie sich auf einen Client-gesteuerten Flow auf dem OIDC-Anbieter beziehen, wird dies nicht unterstützt, da OIDC keinen Protokollfluss bereitstellt. Wenn es sich um einen anderen Validierungsablauf handelte, auf den Sie sich bezogen haben, könnten Sie dies näher erläutern?

Ja, ich beziehe mich auf den Client-gesteuerten Ablauf. In meiner React Native-App habe ich mich mit Facebook und Google mithilfe eines vom Kunden gesteuerten Ablaufs angemeldet, indem ich an den entsprechenden Endpunkt /.auth/login gepostet habe.

Ich habe dieses Paket in meine App integriert, die einen Benutzer mit Apple im Client korrekt anmeldet:
https://github.com/invertase/react-native-apple-authentication

Ich hatte erwartet / gehofft, dass ich mit Apple den gleichen Client-gesteuerten Flow ausführen kann, wenn ich bedenke, dass ich Zugriff auf dieses Identitäts-Token habe:
https://github.com/invertase/react-native-apple-authentication/blob/master/docs/interfaces/_lib_index_d_.rnappleauth.appleauthrequestresponse.md#identitytoken

Es gibt keine Möglichkeit, dieses Token an die Funktions-App zu übergeben, um ein Azure-Authentifizierungstoken zu erhalten, das ich als X-ZUMO-AUTH-Header verwenden kann.

Jede Richtung wäre @ RyanHill-MSFT dankbar, dies verzögert unseren iOS-Start. Vielen Dank!

@gfaraj , der OIDC-Client-Flow wird nicht unterstützt, aber ich arbeite mit der Produktgruppe nach einer möglichen Alternative.

@gfaraj Sie sollten in der Lage sein, den folgenden Fluss zu verwenden. Senden Sie Ihre Anfrage mit Ihrem identityToken an

POST https://<appname>.azurewebsites.net/.auth/login/apple HTTP/1.1
Content-Type: application/json

{"id_token": identityToken,"access_token":"<token>"}

und verwenden Sie das Autorisierungstoken im X-ZUMO-AUTH-Header. Wenn Sie Probleme mit diesem Client-Flow haben, senden Sie mir alle Fehlermeldungen, die Sie erhalten, und ich werde sie an den Rest der Zeit weiterleiten.

Ohhh das ist großartig.

Dies erfordert immer noch den Wechsel zu einer Dateikonfiguration für die Anbieter und die Konfiguration eines OpenID Connect-Anbieters mit dem Namen "apple", oder?

Klingt dies für die Übergabe dieses Felds access_token nach dem richtigen Wert?
https://github.com/invertase/react-native-apple-authentication/blob/master/docs/interfaces/_lib_index_d_.rnappleauth.appleauthrequestresponse.md#authorizationcode

Vielen Dank!

@gfaraj gute Nachrichten, Sie brauchen nicht access_token für POST-Anfrage. Alles was Sie tun müssen ist

POST https://<appname>.azurewebsites.net/.auth/login/apple HTTP/1.1
Content-Type: application/json

{"id_token": identityToken}

In Bezug auf Ihre erste Frage ist das richtig. Um die Apple-Anmeldung verwenden zu können, müssen Sie zur Dateikonfiguration wechseln. Das bedeutet, dass alle in EasyAuth vorgenommenen Konfigurationen ignoriert werden und Sie diese vorhandenen Einstellungen zur Dateibasiskonfiguration hinzufügen müssen.

Ausgezeichnet! Vielen Dank für Ihre schnelle Hilfe! Wird dies bald testen.

Hey @ RyanHill-MSFT Ich erhalte einen 404 / Not Found-Fehler in der von Ihnen angegebenen Anmelde-URL:

https://<appname>.azurewebsites.net/.auth/login/apple

Hier ist ein Protokoll aus meiner App:
image

Stellen Sie sicher, dass die dateibasierte Konfiguration aktiviert ist:

image

Bestätigen, dass die auth.json in meiner App vorhanden ist:

image

Ich habe auch bestätigt, dass meine anderen Anbieter (Facebook und Google) ordnungsgemäß funktionieren und auf ihre jeweiligen /.auth/login-Endpunkte antworten.

Glaubst du, ich habe etwas verpasst? Vielen Dank!

Übrigens habe ich für alle anderen, die damit zu kämpfen haben, die Azure-CLI (in cmd.exe) verwendet, um die Authentifizierungseinstellungen wie folgt zu aktualisieren:

az rest --method put --url https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-name>/providers/Microsoft.Web/sites/<site-name>/config/authsettings?api-version=2018-02-01 --body "{\"properties\":{\"enabled\":\"true\",\"isAuthFromFile\":\"true\",\"authFilePath\":\"auth.json\"}}"

Ich habe viel zu viel Zeit damit verbracht, dies herauszufinden, da ich vorher nicht mit dieser API vertraut war. Hoffentlich spart dies jemand anderem Zeit.

Nicht dass ich @gfaraj sehen könnte. Senden Sie mir Ihren App-Namen an [email protected]_ ATTN: Ryan, damit wir ihn untersuchen können.

E-Mail gesendet. Vielen Dank, dass Sie sich damit befasst haben!

Hallo, @ RyanHill-MSFT.
Ich habe auch ein Problem mit Apple Auth.

  1. Ich konfiguriere den App-Dienst für Apple Auth anhand dieser Anweisung:
    https://docs.microsoft.com/ru-ru/azure/app-service/configure-authentication-provider-openid-connect
    Meine auth.json-Konfiguration sieht folgendermaßen aus:
    {
    "Plattform": {
    "enabled": true
    },
    "globalValidation": {
    "redirectToProvider": "apple",
    "unauthenticatedClientAction": "RedirectToLoginPage"
    },
    "identityProviders": {
    "openIdConnectProviders": {
    "Apfel": {
    "Anmeldung": {
    "clientId": "<Service ID von Apple>",
    "clientCredential": {
    "secretSettingName": "APPLE_GENERATED_CLIENT_SECRET"
    },
    "openIdConnectConfiguration": {
    "wellKnownOpenIdConfiguration": " https://appleid.apple.com/.well-known/openid-configuration "
    }}
    },
    "Anmeldung": {
    "nameClaimType": " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name ",
    "Umfang": [],
    "loginParameterNames": []
    }}
    }}
    },
    "Anmeldung": {
    "tokenStore": {
    "aktiviert": true
    },
    "allowExternalRedirectUrls": [
    " fbox: //easyauth.callback ",
    " https: // localhost : 44312",
    "https: // <meine Website> .azurewebsites.net",
    "https: // <meine Website2> .azurewebsites.net /",
    "https: // <mein App-Service> .azurewebsites.net"
    ]]
    }}
    }}

  2. Der Parameter APPLE_GENERATED_CLIENT_SECRET wird in den Anwendungseinstellungen konfiguriert. Der Wert des Parameters ist der Wert aus der Schlüsseldatei apple * .p8.

  3. Als nächstes aktiviere ich die dateibasierte Authentifizierung per Befehl
    az rest --method put --uri https://management.azure.com/subscriptions/ <my_service_plan> / resourceGroups / <meine Ressourcengruppe> /providers/Microsoft.Web/sites/ <mein App-Service> / config / authsettings ? api-version = 2018-02-01 --body "{" Eigenschaften ": {" aktiviert ":" wahr "," isAuthFromFile ":" wahr "," authFilePath " ":" auth.json "}}"
    und starten Sie dann den App-Dienst neu.

  4. Auf der Registerkarte Authentifizierung / Autorisierung des App-Dienstes wurde die Option "Dateibasierte Konfiguration für diese App aktiviert. Um die Konfiguration über das Portal wieder zu aktivieren, setzen Sie 'isAuthFromFile' auf false. Klicken Sie hier, um weitere Informationen zu erhalten." erscheint.

  5. Dann versuche ich, über meine App von https: // <my app service> .azurewebsites.net / .auth / login / apple request eine Authentifizierung von Apple aus durchzuführen.

  6. Der App-Service leitet die Anfrage an weiter
    https://appleid.apple.com/auth/authorize?response_type=code&client_id= <meine Service-ID von Apple> & redirect_uri = https% 3A% 2F% 2F <mein App-Service> .azurewebsites.net% 2F.auth% 2Flogin% 2Fapple% 2Fcallback & nonce = 7b5969df3fd14d2297d8e72576f57865_20200904053946 & state = fbox% 3A% 2F% 2Feasyauth.callback% 2F

  7. Ich melde mich auf der Apple-Seite an und Apple leitet mich zu https: // <my app service> .azurewebsites.net / .auth / login / apple / callback? State = fbox: //easyauth.callback/&code=cc075180b755442d199dd281d33a0f6c5.0 weiter. rruyv.hDK1raqetlpqJsHyVvf1hQ
    und ich sehe Http_error 500.

  8. Beim App-Service sieht Log Stream so aus
    2020-09-04T05: 38: 37 Willkommen, Sie sind jetzt mit dem Protokoll-Streaming-Dienst verbunden. Das Standardzeitlimit beträgt 2 Stunden. Ändern Sie das Zeitlimit mit der App-Einstellung SCM_LOGSTREAM_TIMEOUT (in Sekunden).

    Detaillierter IIS-Fehler - 500.74 - Interner Serverfehler

    HTTP-Fehler 500.74 - Interner Serverfehler

    Die Seite kann nicht angezeigt werden, da ein interner Serverfehler aufgetreten ist.

    Wahrscheinlichste Gründe:

    • IIS erhielt die Anfrage; Bei der Verarbeitung der Anforderung ist jedoch ein interner Fehler aufgetreten. Die Hauptursache für diesen Fehler hängt davon ab, welches Modul die Anforderung verarbeitet und was im Arbeitsprozess passiert ist, als dieser Fehler aufgetreten ist.
    • IIS konnte nicht auf die Datei web.config für die Website oder Anwendung zugreifen. Dies kann auftreten, wenn die NTFS-Berechtigungen falsch eingestellt sind.
    • IIS konnte die Konfiguration für die Website oder Anwendung nicht verarbeiten.
    • Der authentifizierte Benutzer hat keine Berechtigung zur Verwendung dieser DLL.
    • Die Anforderung wird einem verwalteten Handler zugeordnet, die .NET-Erweiterungsfunktion ist jedoch nicht installiert.

    Dinge, die Sie ausprobieren können:

    • Stellen Sie sicher, dass die NTFS-Berechtigungen für die Datei web.config korrekt sind, und ermöglichen Sie den Zugriff auf das Computerkonto des Webservers.
    • Überprüfen Sie die Ereignisprotokolle, um festzustellen, ob zusätzliche Informationen protokolliert wurden.
    • Überprüfen Sie die Berechtigungen für die DLL.
    • Installieren Sie die .NET-Erweiterungsfunktion, wenn die Anforderung einem verwalteten Handler zugeordnet ist.
    • Erstellen Sie eine Ablaufverfolgungsregel, um fehlgeschlagene Anforderungen für diesen HTTP-Statuscode zu verfolgen. Weitere Informationen zum Erstellen einer Ablaufverfolgungsregel für fehlgeschlagene Anforderungen finden Sie hier .

Detaillierte Fehlerinformationen:

ModulEasyAuthModule_32bit
BenachrichtigungBeginRequest
HandlerExtensionlessUrlHandler-Integrated-4.0
Fehlercode0x80004005
Angeforderte URLhttps: // <Name meines App-Dienstes ohne .azurewebsites.net>: 80 / .auth / login / apple / callback? state = fbox: //easyauth.callback/&code=cc075180b755442d199dd281d33a0f6c5.0.rruyv.hDK1raqetlpqJsHyVf
Physischer PfadD: \ home \ site \ wwwroot \ .auth \ login \ apple \ callback
AnmeldemethodeNoch nicht entschieden
AnmeldebenutzerNoch nicht entschieden

Mehr Informationen:

Dieser Fehler bedeutet, dass bei der Verarbeitung der Anforderung ein Problem aufgetreten ist. Die Anforderung wurde vom Webserver empfangen, aber während der Verarbeitung ist ein schwerwiegender Fehler aufgetreten, der den 500-Fehler verursacht hat.

Weitere Informationen anzeigen »

Microsoft Knowledge Base-Artikel:


2020-09-04T05: 38: 47 PID [31480] Warnung Aufruf des HTTP-Endpunkts https://appleid.apple.com/auth/token fehlgeschlagen: 400 (). Teilantwort: {"error": "invalid_client"}
2020-09-04T05: 38: 47 PID [31480] Information Antwort senden: 500,74 Interner Serverfehler

Können Sie mir sagen, was es bedeutet und wie ich dieses Problem lösen kann?

Hallo @ rustem08 , können Sie mir eine E-Mail an _AzCommunity [at] microsoft [dot] com_ ATTN Ryan senden, damit ich genauer hinschauen kann. Bitte geben Sie Ihre Abonnement-ID und Ihren App-Namen an.

E-Mail gesendet. Vielen Dank.

Ich erhalte auch einen Fehler 500 mit einer ähnlichen Konfiguration. Konnten Sie das lösen?

Vielen Dank

@PaulARoy überprüfe einfach dein
Beispiel für den Code https://github.com/azure-ad-b2c/samples/blob/master/policies/sign-in-with-apple/source-code/B2CSignInWithApple/SigninWithApple_ClientSecret/run.csx

https://github.com/azure-ad-b2c/samples/tree/master/policies/sign-in-with-apple#signing -the-client-secret-jwt

Und jetzt habe ich ein anderes Problem. Ich habe mich erfolgreich angemeldet, aber keine Weiterleitung zu meiner App.

Vielen Dank, das ist eine große Hilfe. Ich schaue hinein.

Ich habe auch Probleme mit bestehenden Anbietern für Weiterleitungen. Easy Auth Detector (von Diagnose & Solve Problems) scheint keine Weiterleitungs-URLs zu finden.

@PaulARoy Sie können einige Protokolle im Log Streamafter sehen,

An wen kann es gehen.

Vor Monaten hatte ich damit zu kämpfen. Microsoft (@ RyanHill-MSFT) hat ein Dokument gesendet, an wen versucht wurde, damit umzugehen. Bei mir hat es nicht funktioniert.

Nach einiger Zeit gelang es mir, dieses Beispiel zum Laufen zu bringen: https://github.com/azure-ad-b2c/samples/tree/master/policies/sign-in-with-apple mit diesen Funktionen https: // github .com / azure-ad-b2c / samples / tree / master / Policies / Anmelden mit Apple / Quellcode / B2CSignInWithApple .

Nach dem Lernprogramm konfigurieren Sie in Azure AD B2C> Identitätsanbieter eine neue soziale Anmeldung mit "OpenID Connect". In der Konfiguration fügen Sie ein Token hinzu, das aus einer der Azure-Funktionen generiert wurde, und das andere zu bedienende Token hat eine Metadaten-URL:
image

Danach musste zu Azure AD B2C> Benutzerflüsse> B2C_1_SignInSignUp> Seitenlayouts gehen und eine "Benutzerdefinierte Seite" erstellen, um ein CS-Symbol und Farben in CSS einzufügen, heißt es in den Apple-Designrichtlinien.
image

Es funktionierte. Apple erlaubt es nicht.

Wenn ein Benutzer sich bei Apple anmeldet, ist er keinem Benutzer in Azure AD B2C zugeordnet. Daher wird er aufgefordert, den Benutzer (Name, E-Mail usw.) zu registrieren, der über ein lokales Konto verfügt. In Apple-Richtlinien kann dies nicht passieren. Sie sollten einfach in die App kommen.

Ich habe aufgegeben und das soziale Login aus meiner App entfernt ... Lösung?

An wen kann es gehen.

Vor Monaten hatte ich damit zu kämpfen. Microsoft (@ RyanHill-MSFT) hat ein Dokument gesendet, an wen versucht wurde, damit umzugehen. Bei mir hat es nicht funktioniert.

Nach einiger Zeit gelang es mir, dieses Beispiel zum Laufen zu bringen: https://github.com/azure-ad-b2c/samples/tree/master/policies/sign-in-with-apple mit diesen Funktionen https: // github .com / azure-ad-b2c / samples / tree / master / Policies / Anmelden mit Apple / Quellcode / B2CSignInWithApple .

Nach dem Lernprogramm konfigurieren Sie in Azure AD B2C> Identitätsanbieter eine neue soziale Anmeldung mit "OpenID Connect". In der Konfiguration fügen Sie ein Token hinzu, das aus einer der Azure-Funktionen generiert wurde, und das andere zu bedienende Token hat eine Metadaten-URL:

image

Danach musste zu Azure AD B2C> Benutzerflüsse> B2C_1_SignInSignUp> Seitenlayouts gehen und eine "Benutzerdefinierte Seite" erstellen, um ein CS-Symbol und Farben in CSS einzufügen, heißt es in den Apple-Designrichtlinien.

image

Es funktionierte. Apple erlaubt es nicht.

Wenn ein Benutzer sich bei Apple anmeldet, ist er keinem Benutzer in Azure AD B2C zugeordnet. Daher wird er aufgefordert, den Benutzer (Name, E-Mail usw.) zu registrieren, der über ein lokales Konto verfügt. In Apple-Richtlinien kann dies nicht passieren. Sie sollten einfach in die App kommen.

Ich habe aufgegeben und das soziale Login aus meiner App entfernt ... Lösung?

@NunoBem sende mir eine E-Mail, damit wir enger mit dir zusammenarbeiten können _AzCommunity [at] mirosoft [dot] com_ ATTN Ryan

Ich habe der App _Xamarin.Forms_ die Option Anmelden mit Apple-Unterstützung hinzugefügt, die einen _Azure AppService_ (mobiles Backend) als Backend-Dienst enthält. Bisher war es mir gelungen, den Login-Teil zum Laufen zu bringen, aber ich habe Probleme mit der Sitzungsaktualisierung. Ich verwende Client Flow.

Was jetzt funktioniert:

  1. Die App erhält IdToken von Apple mithilfe des Apple SDK unter iOS 13
  2. Ich sende dieses IdToken an den Endpunkt /.auth/login/apple von AppService und erhalte in einer Antwort ein Sitzungstoken
  3. Ich verwende das Sitzungstoken im X-ZUMO-AUTH -Header, um die APIs meines Backends erfolgreich aufzurufen

Um Schritt 2 zum Laufen zu bringen, habe ich AppService auf _file based authentication configuration_ umgestellt und eine Datei wie hier beschrieben erstellt. Ich habe jedoch kein JWT-Token (Client-Geheimnis) in die AppService-Anwendungseinstellungen unter dem folgenden Schlüssel eingefügt: AUTH_APPLE_CLIENT_SECRET wie hier angegeben . Der Endpunkt /.auth/login/apple scheint jedoch ohne ihn gut zu funktionieren. Ist das so wie es sein sollte? Wenn ja, wozu dient das JWT-Token (Client Secret) von Apple?

Jetzt ist es großartig, dass sich Benutzer mithilfe der nativen Erfahrung der Anmeldung bei Apple authentifizieren und die App verwenden können, aber die Sitzung wird nur für eine kurze Zeit ausgeführt (solange das Sitzungstoken von /.auth/login/apple Endpunkten gültig ist). Ich habe gelesen, dass der Endpunkt /.auth/refresh es der App ermöglichen sollte, die Sitzung stillschweigend zu aktualisieren, solange die Token Store- Funktion aktiviert ist. Ich habe die Funktion in meiner Authentifizierungskonfigurationsdatei aktiviert, aber aus irgendeinem Grund gibt /.auth/refresh Endpunkte 404 zurück, die in meinem AppService nicht gefunden wurden (auch /.auth/me ist 404). Sollte es funktionieren, wenn die dateibasierte Authentifizierungskonfiguration verwendet wird? Und wenn ja, unterstützt es die Anmeldung bei Apple?

Um all dies in einer Frage zusammenzufassen: Wie kann eine Sitzung stillschweigend aktualisiert werden, wenn der Benutzer Apple als IDP verwendet hat?

Ich hatte das gleiche Problem mit kurzlebigen Token für Apple und nach dem, was ich von den Entwicklern gehört habe, unterstützen sie noch keine Token-Aktualisierung für Open ID Connect-Anbieter. Deshalb erhalten Sie eine 404-Antwort.

Sie wollten länger anhaltende Authentifizierungstoken zulassen, aber ich habe nichts davon gehört, das war im August. Hoffentlich werden sie bald Unterstützung dafür hinzufügen.

@gfaraj Ich habe das Produktteam um Updates

BEARBEITEN: Die Token-Aktualisierung wird mit generischem OIDC nicht unterstützt, aber das Team arbeitet an einer Lösung, um diese Einschränkung zu beheben. Wenn weitere Details verfügbar sind, werden wir sie teilen.

/ cc @mattchenderson

Vielen Dank für Ihre Antworten @gfaraj und @ RyanHill-MSFT. Ist diese Ausgabe der beste Ort, um die Fortschritte in dieser Angelegenheit zu verfolgen, oder gibt es dafür ein besseres Forum?

Vielen Dank für Ihre Antworten @gfaraj und @ RyanHill-MSFT. Ist diese Ausgabe der beste Ort, um die Fortschritte in dieser Angelegenheit zu verfolgen, oder gibt es dafür ein besseres Forum?

@gfaraj Im

@ rustem08 Das Generieren des JWT für das Kundengeheimnis hat wie ein Zauber funktioniert!

Aber kurzlebige Token machen die Verwendung etwas schwierig.

@taimila @gfaraj @PaulARoy habt ihr eine ios-App und wenn ja, fragt ihr nach dem "Anmelden bei Apple", den Benutzer zu registrieren, und wenn ja, muss Apple dies zulassen?

Es funktionierte. ABER. Apple erlaubt es nicht.

Wenn ein Benutzer sich bei Apple anmeldet, ist er keinem Benutzer in Azure AD B2C zugeordnet. Daher wird er aufgefordert, den Benutzer (Name, E-Mail usw.) zu registrieren, der über ein lokales Konto verfügt. In Apple-Richtlinien kann dies nicht passieren. Sie sollten einfach in die App kommen.

Ich habe aufgegeben und das soziale Login aus meiner App entfernt ... Lösung?

Ja, wir haben eine iOS-App. Apple sagt ausdrücklich, wir sollten nicht noch einmal nach Name und E-Mail fragen, damit wir nicht versuchen, sie zu pushen.

Ja, wir haben eine iOS-App. Apple sagt ausdrücklich, wir sollten nicht noch einmal nach Name und E-Mail fragen, damit wir nicht versuchen, sie zu pushen.

@PaulARoy, damit Sie Ihre sozialen Logins in Ihrer iOS-App "gelöscht" (oder nie implementiert) haben?

Hallo, ich versuche, Apple Sign-In zu einer Xamarin.Forms-App hinzuzufügen.

  1. Die App erhält ein idToken mit Xamarin.Essentials AppleSignInAuthenticator.AuthenticateAsync()
  2. Wenn ich dieses idToken jedoch an den Endpunkt /.auth/login/apple von AppService sende, erhalte ich eine nicht autorisierte 401.83-Antwort.
    Das Ablaufverfolgungsprotokoll zeigt: _Warning JWT-Validierung fehlgeschlagen: IDX10214: Audience-Validierung fehlgeschlagen._

Gibt es eine Möglichkeit, dem Apple openIdConnectProvider zusätzliche erlaubte Audience hinzuzufügen?

Ich habe auf die dateibasierte Authentifizierungskonfiguration umgestellt und die Endpunkte /.auth/login/apple und /.auth/login/google funktionieren einwandfrei.

Ja, wir haben eine iOS-App. Apple sagt ausdrücklich, wir sollten nicht noch einmal nach Name und E-Mail fragen, damit wir nicht versuchen, sie zu pushen.

@PaulARoy, damit Sie Ihre sozialen Logins in Ihrer iOS-App "gelöscht" (oder nie implementiert) haben?

Überhaupt nicht, ich stecke einfach fest, weil ich momentan keine Updates pushen kann. Ich habe Tausende von Benutzern aus sozialen Medien, ich kann sie nicht entfernen. Apple plant jedoch nicht, Apps zu entfernen, die (meines Wissens) nicht kompatibel sind. Es akzeptiert einfach keine neuen Updates / neuen Apps, die dies nicht berücksichtigen.

@taimila @gfaraj @PaulARoy habt ihr eine ios-App und wenn ja, fragt ihr nach dem "Anmelden bei Apple", den Benutzer zu registrieren, und wenn ja, muss Apple dies zulassen?

Es funktionierte. ABER. Apple erlaubt es nicht.
Wenn ein Benutzer sich bei Apple anmeldet, ist er keinem Benutzer in Azure AD B2C zugeordnet. Daher wird er aufgefordert, den Benutzer (Name, E-Mail usw.) zu registrieren, der über ein lokales Konto verfügt. In Apple-Richtlinien kann dies nicht passieren. Sie sollten einfach in die App kommen.
Ich habe aufgegeben und das soziale Login aus meiner App entfernt ... Lösung?

@NunoBem Ich bin mir nicht ganz sicher, was deine Frage bedeutet. Ich habe eine iOS-App mit Anmeldung bei Apple, verwende jedoch kein AD B2C, sondern nur die App Service-Authentifizierung und verwalte die Benutzer selbst.

@taimila @gfaraj @PaulARoy habt ihr eine ios-App und wenn ja, fragt ihr nach dem "Anmelden bei Apple", den Benutzer zu registrieren, und wenn ja, muss Apple dies zulassen?

Es funktionierte. ABER. Apple erlaubt es nicht.
Wenn ein Benutzer sich bei Apple anmeldet, ist er keinem Benutzer in Azure AD B2C zugeordnet. Daher wird er aufgefordert, den Benutzer (Name, E-Mail usw.) zu registrieren, der über ein lokales Konto verfügt. In Apple-Richtlinien kann dies nicht passieren. Sie sollten einfach in die App kommen.
Ich habe aufgegeben und das soziale Login aus meiner App entfernt ... Lösung?

@NunoBem Ich bin mir nicht ganz sicher, was deine Frage bedeutet. Ich habe eine iOS-App mit Anmeldung bei Apple, verwende jedoch kein AD B2C, sondern nur die App Service-Authentifizierung und verwalte die Benutzer selbst.

@gfaraj Dieses Problem wurde für Azure AD B2C geöffnet. Überprüfen Sie die Öffnung:

Das Identifizieren von Anbietern ist einfach hinzuzufügen, aber wir haben große Probleme, herauszufinden, wie Sie die Anmeldung bei Apple hinzufügen können. Dies ist jetzt eine Voraussetzung für alle neuen Apps. Dieser Link beschreibt Azure AD B2C. Ist dies jedoch dasselbe wie Azure Active Directory? Und wie man das alles wie mit Facebook verbindet.

@PaulARoy Ich hatte kritische Updates, daher habe ich das soziale Login nur von iOS entfernt, um es zu aktualisieren. Und jetzt ist es ein Chaos. Ich versuche zu blockieren, bis eine B2C-Lösung verfügbar ist. @ RyanHill-MSFT Ich habe keine Antwort erhalten, und wir alle können dies immer noch nicht in B2C implementieren.

@ RyanHill-MSFT Vielen Dank für die Unterstützung, die Sie der Community gewährt haben. Ich habe mich gefragt, ob es ein Update für die kurzlebigen Sitzungstoken gibt. Mit Ihrer Hilfe haben wir die Integration mit Apple, aber das Token dauert nur einen Tag, so dass es unpraktisch ist, es zu verwenden, da sich unser Endbenutzer jeden Tag anmelden muss, um die Anwendung zu verwenden. Wenn Sie ein Update dazu haben, wäre ich sehr dankbar.

@ RyanHill-MSFT Vielen Dank für die Unterstützung, die Sie der Community gewährt haben. Ich habe mich gefragt, ob es ein Update für die kurzlebigen Sitzungstoken gibt. Mit Ihrer Hilfe haben wir die Integration mit Apple, aber das Token dauert nur einen Tag, so dass es unpraktisch ist, es zu verwenden, da sich unser Endbenutzer jeden Tag anmelden muss, um die Anwendung zu verwenden. Wenn Sie ein Update dazu haben, wäre ich sehr dankbar.

Bleib dran bis nach dem Urlaub 😉 ...

Hallo, alle miteinander! Wir wissen, dass dies nicht die beste Erfahrung war, aber ich möchte mich ganz herzlich für Ihre Geduld bedanken. Wenn Sie es noch nicht getan haben, lesen Sie bitte diese Ankündigung . Das Team liefert weiterhin Funktionen und Fehlerbehebungen. Wenn Sie Probleme sehen, können Sie diese gerne unten kommentieren oder sich an mich AzCommunity [at] microsoft [dot] com ATTN: Ryan).

v.1.4.2 wurde geflogen und Sie können überprüfen, ob Ihr Host über die Bits verfügt, indem Sie nach einer authentifizierten Anforderung auf /.auth/version klicken.

@ RyanHill-MSFT Ich habe keine Antwort erhalten, und wir alle können dies immer noch nicht in B2C implementieren.

@NunoBem Bitte

Hervorragende Neuigkeiten Ryan! Ich werde es so schnell wie möglich ausprobieren und den Status zurückmelden. Danke für das Update!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

paulmarshall picture paulmarshall  ·  3Kommentare

jharbieh picture jharbieh  ·  3Kommentare

jamesgallagher-ie picture jamesgallagher-ie  ·  3Kommentare

bdcoder2 picture bdcoder2  ·  3Kommentare

AronT-TLV picture AronT-TLV  ·  3Kommentare