Что такое содержимое тела JSON при вызове метода RSA Initialize REST для аутентификации по требованию? - PullRequest
0 голосов
/ 09 апреля 2020

Согласно документации RSA, https://community.rsa.com/docs/DOC-76775, чтобы токен был отправлен пользователю для аутентификации, пользователь вводит свое имя пользователя и пин-код ODA, затем пользователю будет отправлено электронное письмо с токеном. для аутентификации.

Если все оборудование и серверы настроены правильно, что такое содержание тела JSON, которое необходимо отправить, чтобы токен был отправлен по электронной почте?

Если мы отправим Initialize Сам по себе мы не можем указать пин-код:

{
  'clientId':'myClientId',
  'subjectName':'user123',
  'context':{
    'authnAttemptId':'',
    'messageId':'messageId',
    'inResponseTo':''
  }
}

Если мы отправим Инициализировать и включим пин-код в subjectCredentials, мы получим VERIFY_ERROR:

{
     'clientId':'myClientId',
     'subjectName':'user123',
     'subjectCredentials': [
        {
            'methodId': 'SECURID',
            'collectedInputs': [
                {
                    'name': 'SECURID',
                    'value': 'usersODAPin'
                }
            ]
         }
      ],
      'context':{
        'authnAttemptId':'',
        'messageId':'messageId',
        'inResponseTo':''
      }
}

Что такое JSON содержание тела, которое нужно отправить, чтобы токен был отправлен по электронной почте?

1 Ответ

0 голосов
/ 16 апреля 2020

Оказывается, что действительно произошла ошибка конфигурации сервера.

Итак, успешный и правильный путь будет более поздним:

{
     "clientId":"myClientId",
     "subjectName":"user123'"
     "subjectCredentials": [
        {
            "methodId": "SECURID",
            "collectedInputs": [
                {
                    "name": "SECURID",
                    "value': "<user ODA Pin>"
                }
            ]
         }
      ],
      "context":{
        "authnAttemptId":"",
        "messageId":"messageId",
        "inResponseTo":""
      }
}

А затем добавьте правильное сообщение для подтверждения с тело вроде этого:

{
    "clientId": "myClientId",
    "subjectName": "user123",
    "subjectCredentials": [
        {
            "methodId": "SECURID_NEXT_TOKENCODE",
            "collectedInputs": [
                {
                    "name": "SECURID_NEXT_TOKENCODE",
                    "value": "<user pin and token>"
                }
            ]
        }
    ],
    "context": {
        "authnAttemptId": "<authnAttemptId from initialize call>",
        "messageId": "messageId",
        "inResponseTo": "<messageId from initialize call>"
    }
}

И помните, что у вас должны быть следующие заголовки:

content-type: application/json
client-key: <your access key>

Поскольку в Интернете было так мало информации об этом, я оставлю опубликовать на некоторое время. Если он не получит активности или проголосует за удаление - я его удалю.

...