spotify_cli/oauth/mod.rs
1//! OAuth 2.0 authentication with PKCE for Spotify Web API.
2//!
3//! This module implements the Authorization Code flow with PKCE (Proof Key for Code Exchange),
4//! which is the recommended flow for public clients like CLI applications.
5//!
6//! ## Flow Overview
7//!
8//! 1. Generate PKCE challenge/verifier pair
9//! 2. Open browser to Spotify authorization URL
10//! 3. Start local callback server to receive auth code
11//! 4. Exchange auth code for access/refresh tokens
12//!
13//! ## Usage
14//!
15//! ```ignore
16//! use spotify_cli::oauth::flow::OAuthFlow;
17//!
18//! let flow = OAuthFlow::new("client_id".to_string());
19//! let token = flow.authenticate().await?;
20//! ```
21
22pub mod callback_server;
23pub mod flow;
24pub mod pkce;
25pub mod token;