Ich versuche, die Authentifizierung mit oAuth und DotNetOpenAuth dafür zu implementieren.Autorisieren Sie die Anfrage zwischen Web-Services durch Single Access Token mit DotNetOpenAuth
Wir haben mehrere REST-Webdienste, um die Projektanforderungen zu erfüllen. Es gibt einen Authentifizierungsservice, einen Kundendienst, einen Bestellservice usw.
Der Verbraucher authentifiziert die Benutzer, die diesen Dienst nutzen, und erhält Zugangstoken von diesem. Jetzt wird Consumer eine Methode für den Kundendienst verwenden und das Access-Token übergeben.
Der Kundendienst möchte nun das Zugangs-Token vom Authentifizierungs-Service validieren.
Ich habe versucht, Authorization Header von Consumer in Customer Service erfasst und versucht, dies an den Authentifizierungsdienst von Customer Service übergeben, aber es "Signatur nicht gültig" Fehler, der richtig scheint, weil der URI von Verbraucher verwendet, um die Signatur zu erstellen ist Kundenservice, aber während dies in der tatsächlichen Anfrage des Authentifizierungsdienstes bestätigt wird, kommt er vom Kundenservice, der ein anderer ist.
Ich hoffe, ich kann das Problem erklären.
Wie kann ich dieses Problem lösen?
Ich möchte Token-Datenbank nicht zwischen Dienst teilen. So, jetzt, hier ist was ich versuche zu tun. Ich habe jedem Web-Service einen Schlüssel und ein Geheimnis zugewiesen. Beim Anwendungsstart authentifiziert sich der Web-Service selbst. Der Verbraucher sendet Access_token und seinen Kundenschlüssel an den Kundendienst, der daraufhin den Authentifizierungsdienst aufruft, um das Zugangstoken und den Schlüssel des Verbrauchers zu überprüfen. – Lalit
Customer Service Authentifizierung bei Application_Start funktionierte, wenn ich mit WebDev Server unter IDE getestet, aber beim Hosten in IIS 7 fehlgeschlagen und Fehler "Antwort ist in diesem Kontext nicht verfügbar" zurückgegeben. Ich habe versucht, diesen Code in Application_BeginRequest zu verschieben, damit ich den Dienst für den Anruf authentifizieren kann, wenn dies nicht bereits der Fall ist. Aber das ist auch gescheitert. Irgendeine Hilfe, wie kann ich das tun? – Lalit
Ich folge Ihrem neuen Design nicht. Wenn Sie Ihre Tokendatenbank jedoch nicht freigeben möchten, sollten Sie OAuth 2 in Betracht ziehen, das dieses Szenario unterstützt. –