2016-05-06 11 views
1

Ich versuche, aus OAuth/OpenID mit WSO2 Identity Server 5.1.0, aber ich habe Probleme mit den Ansprüchen der Rückkehr ich brauche. Ich bin nicht sicher, ob ich Missverständnis, wie das funktionieren soll ...WSO2 Identity Server Rückkehr nicht angefordert Ansprüche mit OAuth/OpenID

ich den Standard-resident Identity-Provider bin mit.

Der Dienstanbieter hat die wie folgt konfiguriert Ansprüche: enter image description here

Das einzige andere Konfiguration für diesen SP ist Inbound-Authentifizierung mit OAuth2.

Wenn ich ein OAuth-Token für diesen Dienst mit dem openid Umfang erhalten, erhielt die JWT nur die Betreff-Feld hat (E-Mail-Adresse in diesem Fall). Ich hatte erwartet, auch die angeforderten Ansprüche, d. H. Rollen, zu erhalten.

Ist das nicht der richtige Weg? Wenn nicht, wie kann ich das erreichen? (Hinweis: Ich hoffe, dies nur für OAuth/OpenID zu behalten).

Jede Hilfe ist sehr geschätzt, da ich ganz mit diesem ratlos bin.

Antwort

2

Derzeit haben wir bestimmte Einschränkungen identifiziert, wenn sie versuchen angeforderte Ansprüche in einem OpenID-Token abzurufen.

Sie können jedoch das folgende Szenario ausprobieren,

  1. Also im Grunde müssen Sie Ansprüche auswählen, die eine Zuordnung zwischen dem http://wso2.org/oidc/claim Dialekt http://wso2.org/claims Dialekt (ich habe würde vorschlagen, dass Sie versuchen, E-Mail, name und Land zum Beispiel)

  2. Vergewissern Sie sich, dass die Anspruchswerte im Benutzerprofil gefüllt sind.

  3. Erhalten der OpenID-Token mit Autorisierungscode Erteilung oder Implizite Zuschuss

das WSO2 Identity Server Beta Packs Durch die Verwendung von [1] sollten Sie erfolgreich in der Lage sein, um die Ansprüche abrufen sowie a 'sub' Anspruch mit dem Anspruch, den Sie als Betreff Anspruch gesetzt URI

[1] https://github.com/wso2/product-is/releases/tag/v5.2.0-beta

+0

Vielen Dank, hat wunderbar mit der impliziten Erteilung UND die Passwortvergabe funktioniert. Entschuldigung für das verspätete Feedback, übrigens hatte ich am Wochenende keine Möglichkeit das zu testen. Danke nochmal! –

+0

Mein Fehler, es scheint nicht zu funktionieren für die Passwortvergabe, immerhin war das Token der impliziten Zuteilung immer noch im Cache. Leider muss ich mit der Passwortvergabe arbeiten. Wird es noch nicht unterstützt, oder gibt es einen zusätzlichen Schritt, den ich übersehen habe? –

+1

Ich habe eine JIRA erstellt, um das Problem https://wso2.org/jira/browse/IDENTITY-4603 zu verfolgen. Wir werden das bald beheben. – farasath

0

AFAIR Dies ist ein Fehler des Produkts IS5.1.0. Dies wird in WSO2 Identity Server 5.2.0 Release behoben. Sie können es mit dem IS5.2.0 Beta-Test [1]

[1] https://github.com/wso2/product-is/releases/tag/v5.2.0-beta

Dank
isura

+0

Danke für den Link! Ich habe eine neue Version von 5.2 Beta installiert, aber das Verhalten ist das gleiche wie oben, d. H. Keine Ansprüche. Irgendwelche anderen Ideen oder sogar Workarounds? Danke noch einmal. –

+2

Das zugeordnete Attribut für die http://wso2.org/claims/role im wso2-Dialekt ist " " role "(Sie können dies in Anspruchkonfigurationen überprüfen.) Es gibt keinen Anspruch im Oidc-Dialekt, der ein zugeordnetes Attribut" role "hat ".So, die Claim-Umwandlung wird nicht funktionieren. Also, zuerst müssen Sie einen neuen Anspruch auf Oidc-Dialekt mit zugeordneten Attribut" Rolle "hinzufügen, dann wird es den Anspruch, den Sie wollen, –

+0

Das hat den letzten Trick, funktioniert wie ein Vielen Dank! Vielen Dank! –

2

Nur aus Neugier. Haben Sie den Anfrageparameter claims eingegeben, um Ihren benutzerdefinierten Anspruch anzufordern? Da OpenID Connect Core-1,0, 5.5. Requesting Claims using the "claims" Request Parameter sagt, wie folgt:

Verwenden des claims Parameter ist der einzige Weg Ansprüche außerhalb der Standardsatz anzufordern.

Ich denke, Sie müssen den claims Anforderungsparameter verwenden.

+0

Hallo, danke für den Vorschlag! Ich bin mir nicht sicher, ob ich das richtig mache, aber du meinst so etwas: grant_type = password & ... & scope = openid & claims = roles? Ihr Vorschlag mit etwas Forschung, und auch versucht, scope = openid% 20Profile zu verwenden, obwohl auch kein Unterschied.Könnte es nicht von wso2is unterstützt werden? –

+1

@lv Ja, aber das Format des Wertes der 'Claims' Anfrage Parameter ist nicht einfach, siehe die Spezifikation für Details oder fragen Sie das WSO2-Team. –

+0

Nun, ich glaube, ich mache ein Chaos daraus, entweder das oder es funktioniert immer noch nicht. Ich werde etwas mehr testen, und dann werde ich wie vorgeschlagen ins WSO2-Team einsteigen. Vielen Dank, dass Sie mich in die richtige Richtung weisen, sehr geschätzt! –

Verwandte Themen