android-sdk

Spotify Auth Library

Maven Central

This repository is now a part of spotify/android-sdk. Please post new issues there!

This library is responsible for authenticating the user and fetching the authorization code/access token that can subsequently be used to play music or in requests to the Spotify Web API.

Breaking changes in Spotify Auth library version 2.0.0

In this version we replaced use of WebView with Custom Tabs since Google and Facebook Login no longer support WebViews for authenticating users.

As part of this change the library API does not contain AuthorizationClient#clearCookies method anymore. Custom Tabs use the cookies from the browser.

Integrating the library into your project

To add this library to your project add following dependency to your app build.gradle file:

implementation "com.spotify.android:auth:<version>"

Since April 2021 we’re publishing the library on MavenCentral instead of JCenter. Therefore to be able to get the library dependency, you should add MavenCentral into repositories block:

repositories {
    mavenCentral()
    ...
}

Since Spotify Auth library version 2.0.0 you also need to provide the scheme and host of the redirect URI that your app is using for authorizing in your app build.gradle file. Below is an example of how this looks for the auth sample project using spotify-sdk://auth redirect URI:

    defaultConfig {
        manifestPlaceholders = [redirectSchemeName: "spotify-sdk", redirectHostName: "auth"]
        ...
    }

To learn more see the Authentication Guide and the API reference for each flavors:

The following entries are merged into your manifest when you add the library:

<uses-permission android:name="android.permission.INTERNET"/>

<activity
    android:name="com.spotify.sdk.android.auth.LoginActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>

Flavors

Since Spotify Auth library version 2.1.0, two versions of the library are provided that differs in their behaviour if the Spotify application cannot be used to login:

Sample Code

Checkout the sample project.

Contributing

You are welcome to contribute to this project. Please make sure that:

Code of conduct

This project adheres to the Open Code of Conduct. By participating, you are expected to honor this code.