spotify_ex v2.2.1 Spotify.Authentication View Source
Authenticates the Spotify user.
After your app is authorized, the user must be authenticated. A redirect
URL is specified in the config folder. This is the URL that Spotify
redirects to after authorization, and should ultimately end up hitting
this module's authenticate
function. If the authorization is successful,
the param code
will be present.
If a refresh token still exists, the client will refresh the access token.
You have the option to pass either a Plug.Conn or a Spotify.Credentials struct into these functions. If you pass Conn, the auth tokens will be saved in cookies. If you pass Credentials, you will be responsible for persisting the auth tokens between requests.
Link to this section Summary
Functions
Authenticates the user
Attempts to refresh your access token if the refresh token exists. Returns
:unauthorized
if there is no refresh token
Checks for refresh and access tokens
Link to this section Functions
authenticate(conn_or_auth, map) View Source
Authenticates the user
The authorization code must be present from spotify or an exception will be raised. The token will be refreshed if possible, otherwise the app will request new access and request tokens.
Example:
Spotify.authenticate(conn, %{"code" => code})
# {:ok, conn}
Spotify.authenticate(conn, %{"not_a_code" => invalid})
# AuthenticationError, "No code provided by Spotify. Authorize your app again"
Spotify.authenticate(auth, params)
# {:ok, auth}
refresh(conn_or_auth) View Source
Attempts to refresh your access token if the refresh token exists. Returns
:unauthorized
if there is no refresh token.
tokens_present?(conn_or_auth) View Source
Checks for refresh and access tokens
Example:
defmodule PlayListController do
plug :check_tokens
def check_tokens do
unless Spotify.Authentication.tokens_present?(conn) do
redirect conn, to: authorization_path(:authorize)
end
end
end