#react-native #authentication #expo #spotify
#реагировать-родной #аутентификация #экспо #spotify
Вопрос:
Я создаю приложение, которому необходимо связать учетную запись пользователя Spotify, чтобы получить его музыкальную библиотеку. Для этого я использую expo на react native и вместе с ним пакет «expo-auth-session«.
У него уже есть довольно хороший пример управления соединением с spotify.
К сожалению, как только я захожу на страницу входа в spotify, я не могу вернуться к своему приложению. Я думаю, что проблема связана с «перенаправлением», которое я действительно не понимаю, как это работает. Я видел, что вы должны разместить там свое перенаправление (обычно это что-то вроде https://localhost:8000 / ) но я работаю на мобильном телефоне, так что таких вещей нет. Я видел, что вы также должны создать обратный вызов redirectUri на панели управления Spotify, но даже это, похоже, не работает.
Если бы у вас, ребята, было больше информации об этом, это было бы здорово!
Мой дев :
const endPoints = {
authorizationEndpoint: "https://accounts.spotify.com/authorize",
tokenEndpoint: "https://accounts.spotify.com/api/token",};
const [request, response, promptAsync] = useAuthRequest(
{
clientId: "My-Client-ID",
scopes: ["user-library-read"],
// In order to follow the "Authorization Code Flow" to fetch token after authorizationEndpoint
// this must be set to false
usePKCE: false,
// For usage in managed apps using the proxy
redirectUri: "exp://localhost:19000",
},
endPoints
);
Ответ №1:
Я обновлю документы, но вот как вы должны настроить URI перенаправления для Spotify:
- Настройте URI перенаправления: ваш проект> Изменить настройки> Перенаправить URI
- Прокси: https://auth.expo.io/@username/slug
- Если
useProxy
включено (только для собственного использования), измените имя пользователя для вашего имени пользователя Expo и slug дляslug
вашего app.json. Старайтесь не менять slug для своего приложения после использования его для аутентификации, поскольку это может привести к проблемам с управлением версиями.
- Если
- Expo Go: exp:// localhost:19000/—/
- Веб-разработчик: https://localhost:19006
- Важно: Убедитесь, что в конце URL-адреса нет косой черты, если только она не была изменена вручную в коде приложения с
makeRedirectUri({ path: '/' })
помощью . - Запустить
expo start:web --https
для запуска с https, в противном случае аутентификация не будет работать.
- Важно: Убедитесь, что в конце URL-адреса нет косой черты, если только она не была изменена вручную в коде приложения с
- Пользовательское приложение: ваша схема://
- Схема должна быть указана в app.json
expo.scheme: 'your-scheme'
, а затем добавлена в код приложения сmakeRedirectUri({ native: 'your-scheme://' })
помощью)
- Схема должна быть указана в app.json
- Веб-производство: https://yourwebsite.com
- Установите это значение на любой URL вашего развернутого веб-сайта.
- Прокси: https://auth.expo.io/@username/slug
Если URI перенаправления не настроены, Spotify не будет знать, куда направлять приложение после завершения аутентификации, это вызывает эффект «зависания», который вы испытываете.