Бизнес-сценарий:
- У меня есть это вспомогательное приложение, которое запускается в Outlook (это надстройка для Outlook в Интернете), и его обязанностью является отправка необходимых данных электронной почты в родительское приложение.
В основном приложении я реализовал вход в Microsoft (пользователи могут войти через свою учетную запись Microsoft) и поставщика OAuth (может выдать токен доступа)
Теперь я хочу внедрить Microsoft Sign in в дочернее приложение (когда пользователь нажимает кнопку «Войти через Microsoft», основное приложение вернет маркер доступа для последующего использования запроса API) - важным моментом здесь являетсяпользователю не нужно вводить учетные данные своего приложения
Я застрял в том, что Я не знаю, как преобразовать личность пользователя в маркер доступа OAuth. Другими словами, если у меня есть только имя пользователя, но не пароль, каков наилучший способ создания маркера доступа Oauth?
Поток аутентификации Microsoft -> Microsoft Identity -> look up user 'внутренняя идентификация (здесь я получу имя пользователя и однонаправленный хэшированный пароль) -> ?? токен доступа?
Ясно, что я не могу использовать поток паролей OAuth, потому что пароль пользователя был одно-способ хэшированные.Я не хочу использовать поток кода, потому что я сделал так, чтобы пользователь не вводил имя пользователя и пароль в своем приложении.Самая близкая вещь, о которой я могу думать, состоит в том, чтобы использовать поток учетных данных клиента.(При поиске пользователя, если он / она имеет уровень доступа, используйте предопределенный appID и секретируйте для создания токена доступа)