Spotify authentication and authorization for Android. Helps to get access tokens for Spotify Android SDK and Spotify Web API.
Java
Switch branches/tags
Nothing to show
Clone or download
erikghonyan Merge pull request #40 from erikghonyan/sample-1-1-0
Update sample app and README.md to use 1.1.0
Latest commit aaada7f Feb 28, 2018

README.md

Spotify Authentication Library

Build Status

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

Integrating the library into your project

To add this library to your project add the reference to its build.gradle file:

compile 'com.spotify.android:auth:1.1.0'

To learn more about working with authentication see the Authentication Guide and the API reference on the developer site.

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

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

<activity
    android:exported="true"
    android:name="com.spotify.sdk.android.authentication.AuthCallbackActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar">

    <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>

        <data
            android:scheme="@string/com_spotify_sdk_redirect_scheme"
            android:host="@string/com_spotify_sdk_redirect_host"/>
    </intent-filter>
</activity>

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

You will need to add the following strings to your project to enable Chrome CustomTabs login flow:

<resources>
    <string name="com_spotify_sdk_redirect_scheme">yourscheme</string>
    <string name="com_spotify_sdk_redirect_host">yourhost</string>
</resources>

So, if you provided bestapp://ismyapp as a redirect URI in the developer console then you set com_spotify_sdk_redirect_scheme to bestapp and com_spotify_sdk_redirect_host to ismyapp.

Since Chrome CustomTabs share credentials with the Chrome instance you have installed you get much better experience logging users in compare to WebView flow.

Sample Code

Checkout the sample project.

Contributing

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

  • New code is test covered
  • Features and APIs are well documented
  • ./gradlew check must succeed

Code of conduct

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