Skip to content

Claims

In ID- und Access-Tokens sind Claims enthalten, die Informationen über die authentifizierte Identität in Form von Key-/Value-Paaren (Claim-Type/Claim-Value) bekannt geben.

Enthalte Claims im Access-Token

Wenn der CMI STS ein Access-Token erzeugt, legt er auch fest welche Claims das Access-Token beinhaltet. Registrierte Claims wie iis (Issuer), aud (Audience), exp (Expiration Time) welche durch die JWT Web Token Spezifikationen festgelegt sind, werden vom CMI STS automatisch ausgestellt.

Wenn der CMI STS den CMI Server während eines Authentifizierungsprozesses kontaktiert, liefert der CMI Server weitere Claims über den Benutzer, die ebenfalls im Access-Token integriert werden. Der CMI Server bestimmt also, welche zusätzlichen Claims im Access-Token landen. Das kann von der CMI Server Version abhängig sein.

Claims einer externen Identität

Wenn eine Anmeldung über einen externen Identitätsprovider (IDP) erfolgt, stellt der IDP ein ID-Token aus, dass beliebige Claims über den Benutzer enthalten kann. Diese Claims werden vom CMI STS während dem Anmeldeprozess an den CMI Server übermittelt. Auf Basis dieser Claims kann der CMI Server ein Feld- und Gruppenmapping durchführen. Die Claims die durch den IDP ausgestellt wurden, werden jedoch anschliessend verworfen. Sie werden nicht in das Access-Token integriert, die der CMI STS ausstellt.

Claim-Transformation

Das .NET Core Framework führt eine Claim-Transformation durch. Dieses Feature ist jedoch seit CMI STS 3.1.1 standardmässig deaktiviert, während es davor standardmässig aktiviert ist.

Die Claim-Transformation versucht, Claim-Types auf einen IANA-registrierten Namen umzuschreiben. Beispielsweise wird der Claim-Type email auf http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress umgeschrieben. Dies hat zufolge, dass der IDP zwar den Claim-Type email ausstellt, beim CMI Server jedoch http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress ankommt. Das erschwert die Konfiguration von Feld- und Gruppenmapping.

Die Claim-Transformation kann durch eine Konfiguration aktiviert werden. Das Verhalten kann nur global aktiviert werden. Sie sollte nur zur Rückwärtskompatibilität verwendet werden.

{
    "UseClaimTransformation": true
}
  • UseClaimTransformation (optional, Standardwert: false): Legt fest, ob eine Claim-Transformation durchgeführt werden soll.