Не удалось вернуться в мое приложение после входа в систему с помощью spotify

#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, в противном случае аутентификация не будет работать.
    • Пользовательское приложение: ваша схема://
      • Схема должна быть указана в app.json expo.scheme: 'your-scheme' , а затем добавлена в код приложения с makeRedirectUri({ native: 'your-scheme://' }) помощью)
    • Веб-производство: https://yourwebsite.com
      • Установите это значение на любой URL вашего развернутого веб-сайта.

Если URI перенаправления не настроены, Spotify не будет знать, куда направлять приложение после завершения аутентификации, это вызывает эффект «зависания», который вы испытываете.