All das wird in der OpenAM's Developer's Guide Abschnitt 3.4 erklärt.
Der REST-URL für benutzerdefinierten Modul wäre:
http://www.example.com:8080/openam/json/authenticate?authIndexType=module&authIndexValue=CURAuthn
Wenn Sie Modul nicht die Standard-Benutzername/Passwort-Anmeldeinformationen verwenden, wird Sie Ihre Anmeldeinformationen in der Anfrage Körper als JSON passieren müssen .
Sie, indem Sie eine leere POST-Anforderung an OpenAM beginnen würde:
$ curl \
--request POST \
--header "Content-Type: application/json" \
http://www.example.com:8080/openam/json/authenticate?authIndexType=module&authIndexValue=CURAuthn
Sie sollten erhalten eine Antwort ähnlich wie diese (basierend auf Ihrer benutzerdefinierten Rückrufe):
{
"authId": "eyAid...GDYaEQ",
"template": "",
"stage": "Module11",
"header": "Using CURAuthn",
"callbacks": [
{
"type": "NameCallback",
"output": [
{
"name": "prompt",
"value": "FirstCallback"
}
],
"input": [
{
"name": "IDToken1",
"value": ""
}
]
},
{
"type": "NameCallback",
"output": [
{
"name": "prompt",
"value": "SecondCallback"
}
],
"input": [
{
"name": "IDToken2",
"value": ""
}
]
},
//More callbacks here
]
}
Danach nur sammeln die Anmeldeinformationen aus der Benutzereingabe, füllen Sie die leeren Werte aus und senden Sie die JSON-Nutzdaten an dieselbe URL zurück. Stellen Sie sicher, dass Sie während des gesamten Authentifizierungsprozesses dieselbe "authId" verwenden.
Ich schrieb eine blog post über benutzerdefinierte Authentifizierungsketten und wie mit ihnen über REST kommunizieren. Schau mal, es könnte hilfreich sein.