Почему я получаю несоответствие URI перенаправления при попытке войти в Box?
-
21-12-2019 - |
Вопрос
При использовании Box SDK для iOS чтобы выполнить OAuth, мне показывают веб-страницу с этой ошибкой:
Ошибка:redirect_uri_mismatch
response_type = code redirect_uri = boxsdk-our4iypzazstfpx8j70e8tlc3eyn9c4l: // boxsdkoauth2redirect state = ok clim
Я использовал код, который они предложили:
[self
presentViewController:[[BoxAuthorizationViewController alloc]
initWithAuthorizationURL:[[BoxSDK sharedSDK].OAuth2Session authorizeURL]
redirectURI:nil
]
animated:YES
completion:nil
];
Мой идентификатор клиента и секрет клиента установлены до этого.В моем файле info.plist у меня есть boxsdk-our4iypzazstfpx8j70e8tlc3eyn9c4l как схема URL.Единственная инструкция, которой я не смог следовать:
Примечание:При настройке сервиса на коробке оставьте oauth2 Reditrect uri Blank.SDK предоставит пользовательский перенаправление URI при выдаче вызовов OAuth2;Это требует, чтобы в ваших настройках службы не было установлено перенаправление URI.
Когда я пытаюсь оставить URI перенаправления пустым и сохранить форму в консоли разработчика, я получаю следующую ошибку:
URL-адрес перенаправления OAuth2 должен указывать действительный URL-адрес и не должен быть http://.
Поэтому я вынужден что-то ввести.Я ввел "https://mydomain.com» (с моим реальным доменом).Я изменил код iOS, чтобы передать этот URI в BoxAuthorizationViewController, но по-прежнему получаю ту же веб-страницу с ошибкой.
Решение
Извините, это ошибка в нашей документации.Это должно сработать, если вы введете boxsdk-YOUR_CLIENT_ID://boxsdkoauth2redirect
в консоль разработчика для вашего redirect_uri, заменив YOUR_CLIENT_ID своим фактическим идентификатором клиента.