#oauth-2.0
#oauth-2.0
Вопрос:
Я выполнил этот шаг до конца, успешно вошел в систему, был перенаправлен, и нет кода с URL-адресом перенаправления, как обещает руководство. Следующая ссылка — это моя версия с учетными данными. https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=a383dd3b-8306-4902-93d3-f5a33fe4a445amp;scope=Files.Readamp;response_type=codeamp;redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient
Я попадаю на эту страницу и вхожу в учетную запись в том же пространстве имен. Просмотр входа в систему
После входа в надлежащий логин все, что я получаю взамен, перенаправляется на мой URI перенаправления без кода, прикрепленного к концу, как указано в руководстве. Все, что мне нужно, это доступ к 3 файлам на моем onedrive, но, похоже, я не могу пройти мимо OAuth2. Вот на что я перенаправляюсь. https://login.microsoftonline.com/common/oauth2/nativeclient
Комментарии:
1. PS Я удалил приложение, поскольку это всего лишь тестовое приложение. Я запустил новое тестовое приложение и все еще получаю тот же результат.
Ответ №1:
С первого взгляда кажется, что redirect_uri неверен. Это должна быть конечная точка, где вы получаете код авторизации, а затем обмениваете его для остальной части процесса OAuth.
Я работаю с Pathfix, и мы решаем проблему управления токенами OAuth с использованием бессерверной инфраструктуры.
Подводя итог, вот как должен выглядеть ваш URL-адрес
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
client_id=a383dd3b-8306-4902-93d3-f5a33fe4a445amp;
scope=https://graph.microsoft.com/Files.ReadWrite.All offline_accessamp;
response_type=codeamp;
redirect_uri=https://your endpoint
Дополнительное примечание о области применения. Обратите внимание, что определение области для токена должно быть таким, как я указал выше
Комментарии:
1. Спасибо, я понял эту часть. Теперь у меня проблема с тем, что это правительственная учетная запись. Я получаю сообщение об ошибке «Конфиденциальный клиент не поддерживается в кросс-облачном запросе». когда я передаю код с URL-адреса и запрашиваю данные. support.microsoft.com/en-us/help/4458250 /. … Я последовал этому руководству, но безуспешно.
2. Можете ли вы принять ответ и задать новый вопрос, может быть, будет какое-то обсуждение правительственной учетной записи. Я прочитаю и свяжусь с вами
3. У меня всего 11 репутаций, поэтому я не могу проголосовать, но я понял это пару недель назад и объяснил разницу в государственных учетных записях.
Ответ №2:
Все это работает одинаково. Я просто убедился, что мое приложение открыто для всех пользователей, и заменил .com на .us во всех ссылках, кроме uri перенаправления. Надеюсь, это поможет кому-то еще. Например, мои данные находятся в sharepoint, но microsoft graph api работает одинаково для всех учетных записей с различиями в .us, .com и некоторых других.