Я не понимаю, как в вашем вопросе используется "подразумеваемый".Вот как это работает.Если у вас есть дополнительные вопросы, обновите (отредактируйте) свой исходный вопрос.
При использовании предоставления кода авторизации пользователь сначала идентифицирует себя в DocuSign.
Затем, если он еще не сделал этогопоэтому его просят дать согласие на интеграцию.Разрешения, запрошенные интеграцией, являются областями интеграции .Обычная область действия: подпись , могут быть и другие.
После того, как он даст согласие, служба авторизации DocuSign перенаправит браузер пользователя обратно к интеграции, и код авторизации будет включенв качестве параметра запроса.
Затем ваша интеграция выполняет oauth-вызов DocuSign, чтобы обменять код авторизации на токен доступа.
Далее (обычно) ваша интеграция использует метод OAuth :: getUserInfo для получения имени пользователя, адреса электронной почты, авторизованных учетных записей DocuSign и многого другого из DocuSign.
Обеспечениечто пользователь вашего приложения - пользователь DocuSign
Вы не можете принудительно установить, кто будет проходить аутентификацию с DocuSign.Но вы можете проверить, что правильный человек аутентифицирован.Например:
- Майк входит в ваше приложение.Вы знаете электронную почту Майка.
- Ваше приложение хочет, чтобы его пользователь прошел аутентификацию с DocuSign.Ваше приложение инициирует поток предоставления кода авторизации OAuth с помощью DocuSign.
- Пользователь вашего приложения теперь видит экран входа в DocuSign.
- (Проблема) в том, что Майк просит Мэри пройти аутентификацию в DocuSign для него.Мэри делает это.
- Но когда ваше приложение узнает адрес электронной почты аутентифицированного пользователя DocuSign, это будет адрес электронной почты Мэри, а не Майка.Таким образом, ваше приложение может отклонить аутентификацию DocuSign, отправив пользователю сообщение о том, что Mike должен пройти повторную аутентификацию с DocuSign.
Реализуя вышеизложенное, ваше приложение может гарантировать, что при входе Майка в ваше приложение соответствующая аутентификация с DocuSign будет учетной записью пользователя DocuSign Майка, а не чьей-либо другой.
Вместо сравнения адресов электронной почты вы также можете использовать идентификатор пользователя DocuSign.Но для этого необходимо выполнить загрузку приложения с таблицей, которая связывает учетную запись Майка и его идентификатор пользователя DocuSign.Адреса электронной почты, вероятно, проще.
Re: другие пользователи входят в систему после предыдущего сеанса
Существует два случая:
Один и тот же браузер на том же компьютере
Это «проблема общедоступного компьютера».
Майк использует браузер «G» для входа в ваше приложение, а также в DocuSign.Позже Мэри садится на свое место и использует тот же браузер и то же приложение.
По умолчанию предоставление кода авторизации OAuth для DocuSign включает автоматическую аутентификацию.Это означает, что поток аутентификации DocuSign молча позволит Мэри использовать сеанс DocuSign Майка (если он все еще активен).Для сценария с общественной машиной это явно нехорошо.Решения:
Всегда требуйте, чтобы DocuSign активно аутентифицировал человека (автоматическая аутентификация не допускается).Для этого включите prompt=login
в исходный URL-адрес, отправленный DocuSign.См. документы .
Очистить куки браузера между пользователями.Стандартные методы работы с общедоступными компьютерами будут включать это.
Разные пользователи в одном приложении
Ваше приложение должно использовать сеансы.Каждый пользователь приложения (параллельно или последовательно) получит свой собственный сеанс.Каждый сеанс должен поддерживать свою собственную информацию аутентификации для DocuSign, включая токен доступа текущего пользователя, идентификатор учетной записи и базовый URL.
Вся эта информация определяется как часть процесса аутентификации с DocuSign.
В наши дни все современные платформы веб-приложений предоставляют простой в использовании интерфейс сеансов.
У нас также есть примеры кода, которые вы можете использовать. См. Этот список хранилищ. (С дальнейшими подробностями.)