Все это объясняется в OpenAM Developer's Руководство, раздел 3.4.
URL-адрес REST для вашего настраиваемого модуля будет:
http://www.example.com:8080/openam/json/authenticate?authIndexType=module&authIndexValue=CURAuthn
Если ваш модуль не использует стандартные учетные данные имени пользователя и пароля, вам придется передать свои учетные данные в теле запроса как JSON.
Вы должны начать с отправки пустого запроса POST в OpenAM:
$ curl \
--request POST \
--header "Content-Type: application/json" \
http://www.example.com:8080/openam/json/authenticate?authIndexType=module&authIndexValue=CURAuthn
Вы должны получить ответ, подобный этому (на основе ваших пользовательских обратных вызовов):
{
"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
]
}
После этого просто соберите учетные данные из пользовательского ввода, заполните пустые значения и отправьте полезные данные JSON обратно по тому же URL-адресу. Убедитесь, что вы используете один и тот же authId в процессе аутентификации.
Я написал сообщение в блоге о пользовательских цепочках аутентификации и о том, как общаться с ними через ОТДЫХАТЬ. Взгляните, это может быть полезно.
person
Guillermo R
schedule
10.05.2016