2017-05-18 5 views
1

Ich benutze Okta als Grundlage für eine benutzerdefinierte Benutzerverwaltung Web-Lösung. Im Backend habe ich ASP.NET Ich verwende OKTAs spezifisches SDK, um mit okta von dort zu kommunizieren.Wie bekomme ich Passwort-Einschränkungen von Okta API?

Im Frontend benutze ich eine Angular basierte UI aber kommuniziert nicht mit Okta von hier (keine CORS). Ich kann mich anmelden, Sitzungssitzungen, CRUD-Operationen in Gruppen und Benutzern validieren, sodass fast alles funktioniert, außer Passwortbeschränkungen.

Ich möchte nicht hardcodieren, sondern sie dynamisch über eine API abrufen und Einschränkungen der Kennwortkomplexität in einem Tooltipp anzeigen oder mein Formular überprüfen. Ich kann das zu verwendende Modellobjekt finden, weiß aber nicht, wie es über eine API abgerufen werden kann. Ich weiß nicht, welches Clientobjekt diese Richtlinie, welche Kennwortrichtlinie oder dieses Komplexitätsobjekt als GET-Methode enthalten würde. Dokumentationen sind schlecht, also wenn jemand helfen kann, würde sehr geschätzt werden.

Antwort

0

Es ist möglich, die Kennwortkomplexitätsregeln aus der Okta-API abzurufen, aber es ist noch nicht gut dokumentiert. Die Policy API ist was du suchst.

Diese API ist nicht im Okta .NET SDK unterstützt, aber Sie können einen HTTP-Anforderung machen alle Kennwortrichtlinien zur Liste:

GET https://dev-xxxxx.oktapreview.com/api/v1/policies?type=PASSWORD 
Authorization: SSWS your-token 

200 OK 
[ 
    { 
    "type": "PASSWORD", 
    "id": "00p9o1nik8khgmupS0h7", 
    "status": "ACTIVE", 
    "name": "Default Policy", 
    // snip... 
    "settings": { 
     "password": { 
     "complexity": { 
      "minLength": 8, 
      "minLowerCase": 1, 
      "minUpperCase": 1, 
      "minNumber": 1, 
      "minSymbol": 0, 
      "excludeUsername": true 
     }, 
     }, 
     // snip... 
    }, 
    // snip... 
    } 
] 

Sie sollten die Komplexitätsregeln ziehen können und render sie für den Benutzer.

Vollständige Offenlegung: Ich arbeite bei Okta. (Und ich werde dafür sorgen, dass es in Zukunft einen einfacheren Weg gibt!)

+1

Vielen Dank! Ich hatte Schwierigkeiten, den Weg zu finden, um es mit .NET SDK durch verschiedene Clients zu tun und konnte es nicht. Jetzt kann ich bestätigen, was meine Optionen in der Zukunft sind. Danke dir auch dafür, dass du dich um dieses Thema kümmerst, OKTA, schätze es! –

Verwandte Themen