PKCE Authorization Helper (Authorization/PKCE.swift)

swift-sdk · Sources/MCP/Base/Authorization/PKCE.swift · swift · Apache-2.0
auth, security, lang:swift

Generates cryptographically secure PKCE code verifiers for OAuth authorization code flows. Reuse when implementing secure authentication clients.

// Source: https://github.com/modelcontextprotocol/swift-sdk | License: Apache-2.0
// Provided via justclaw.it.com; keep this notice with the code.
import Foundation

#if canImport(CryptoKit)
    import CryptoKit
#endif

/// Pure PKCE (RFC 7636) helpers required by the authorization_code flow.
public enum PKCE {

    /// Generates a cryptographically random PKCE code verifier.
    ///
    /// - Parameter length: Number of characters in the verifier. Defaults to 64.
    ///   RFC 7636 requires 43–128 characters.
    /// - Returns: A URL-safe random string suitable for use as a PKCE code verifier.
    public static func makeVerifier(length: Int = 64) -> String {
        let charset = Array("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~")
        // 66 characters; 256 % 6

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key