oauth 0.0.2

Universal OAuth 2.0 adapter for Rust web frameworks
Documentation
use crate::config::OAuthConfig;
use crate::error::{OAuthError, Result};

use super::{TokenRequest, TokenResponse};

/// Handle the refresh token grant flow.
///
/// This placeholder ensures requests are validated while signalling that a full
/// implementation is pending.
pub fn issue_token(config: &OAuthConfig, request: &TokenRequest) -> Result<TokenResponse> {
    if !config.refresh_tokens_enabled() {
        return Err(OAuthError::UnsupportedGrant(
            "refresh tokens are disabled for this configuration".into(),
        ));
    }

    if request.refresh_token.is_none() {
        return Err(OAuthError::InvalidGrant(
            "refresh_token grant requires `refresh_token`".into(),
        ));
    }

    Err(OAuthError::NotImplemented("refresh_token grant flow"))
}