Spotify.NET/SpotifyAPI.Docs/docs/client_credentials.md
Nova 300c51db3c
Minor fixes for comprehesion (#507)
Fixed capitalization, spelling, grammar, added gender-neutral language
2020-09-16 09:13:21 +02:00

1.3 KiB

id title
client_credentials Client Credentials

The Client Credentials flow is used in server-to-server authentication. Only endpoints that do not access user information can be accessed.

By supplying your SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET, you get an access token.

Request token once

To request an access token, build a ClientCredentialsRequest and send it via OAuthClient. This access token will expire after some time and you need to repeat the process.

public static async Task Main()
{
  var config = SpotifyClientConfig.CreateDefault();

  var request = new ClientCredentialsRequest("CLIENT_ID", "CLIENT_SECRET");
  var response = await new OAuthClient(config).RequestToken(request);

  var spotify = new SpotifyClient(config.WithToken(response.AccessToken));
}

Request Token On-Demand

You can also use CredentialsAuthenticator, which will make sure the Spotify instance will always have an up-to-date access token by automatically refreshing the token on demand.

public static async Task Main()
{
  var config = SpotifyClientConfig
    .CreateDefault()
    .WithAuthenticator(new ClientCredentialsAuthenticator("CLIENT_ID", "CLIENT_SECRET"));

  var spotify = new SpotifyClient(config);
}

:::info Thread safety is not guaranteed when using CredentialsAuthenticator. :::