Thinktecture Identity Server v3 Google-Anbieter

8

Ich bekomme ein Problem während der Integration externer Anbieter, d. h. Google mit Thinktecture Identity Server v3. Ich bekomme folgenden Fehler: "Die Client-Anwendung ist nicht bekannt oder ist nicht autorisiert." Hat jemand eine Idee über diesen Fehler?

    
user1918328 08.02.2015, 17:20
quelle

5 Antworten

16

@Wie auch immer, es sieht so aus, als ob die RedirectUri-Werte auf dem Client und auf dem Server nicht übereinstimmen.

Die RedirectUri-Eigenschaft im Client-Start definiert den URI, der nach der Authentifizierung durch den Identitätsserver aufgerufen wird. Der RedirectUris in der Serverkonfiguration definiert die aufgelisteten zulässigen URIs, die eine Authentifizierung anfordern können. Der Client-Start RedirectUri muss daher in der RedirectUris-Liste des Servers enthalten sein.

Sieht aus, als ob die RedirectUri Ihres Clients gerade auf den URI des Servers zeigt. Läuft Ihr Client auf Port 46289? Wenn dies der Fall ist, ändern Sie den Wert der RedirectUri-Eigenschaft im Client-Start in Ссылка . Sie können auch versuchen, den redirectUris-Wert des Servers zu ändern, um https anstelle von http zu verwenden, vorausgesetzt, dass Ihr Client wirklich über https erreichbar ist.

Server-Client-Speicher:

%Vor%

Client-Start:

%Vor%     
BinaryMash 01.03.2015 09:39
quelle
6

Ich hatte dieses Problem. Der RedirectUris-Eintrag in den Servern fast entsprach dem RedirectUri im Client Startup.Configuration; alle außer für den abschließenden Schrägstrich.

%Vor%

ist nicht dasselbe wie

%Vor%

Als ich den Schrägstrich hinzugefügt habe, erschien meine Login-Seite.

    
Skip Saillors 01.12.2015 07:56
quelle
2

Ich habe das gleiche Problem bearbeitet, aber ich habe mich nur mit Identity Server authentifiziert (Google wird als nächstes auf meiner Liste behandelt). Ich sah das Problem, weil die Scopes für den Client nicht auf dem Mvc und Server eingerichtet wurden. Um das Problem zu beheben, habe ich die Bereiche wie folgt in die Startup-Klasse (des Mvc-Clients) eingefügt:

%Vor%

.. und auch in der Serverliste der Clients:

%Vor%

In Bezug auf die Frage des OP mit Google könnte es sich lohnen, Ihre Bereiche mit denen zu vergleichen, die von Ihrer App in der Google Developer Console unterstützt werden. Es gibt einen guten SO-Beitrag zu unterstützten Bereichen unter Wo finde ich eine Liste mit Bereichen für die OAuth 2.0-API von Google?

Hoffe das hilft:)

    
Matt Woodward 15.09.2015 06:15
quelle
0

Sieht aus wie Client (Anwendung, in der Sie die Möglichkeit haben möchten, sich mit Google einzuloggen) ist nicht im Client-Speicher registriert. Könnten Sie bitte Ihre Startkonfiguration anzeigen?

    
Pavlo 20.02.2015 13:53
quelle
0

In meinem Fall war ich nicht vorsichtig und änderte die Werte in Startup.cs unter UseOpenIdConnectAuthentication (die die integrierte Webanwendung verwendet, um sich selbst zu verbinden), wenn ich sollte geändert haben Werte in Clients.Get (), die die zulässigen Clients sind, die der Server konfiguriert hat.

Sobald ich diese behoben habe, konnte ich Client und Server in zwei Anwendungen mit nur einigen NuGet-Paketen und UseCookieAuthentication / UseOpenIdConnectAuthentication in der Client-Anwendung trennen.

Sie können den Fehler erhalten, wenn der Client nicht aktiviert ist, URI-Umleitung stimmt nicht mit einem in der Liste überein (verwendet keine exakte Groß- und Kleinschreibung), wenn die angeforderten Bereiche nicht in der Liste der zulässigen Bereiche enthalten sind passt nicht zu dem, was erlaubt ist (Sie können nur einen pro Client haben) und / oder wenn die Client-IDs nicht übereinstimmen.

    
Lukos 02.02.2016 11:38
quelle

Tags und Links