Buddy Security Library for Clojure

repository·master·Indexed 21 days ago

https://github.com/funcool/buddy

A security library for Clojure providing authentication, authorization, encryption, and hashing. The monolithic buddy package is deprecated in favor of specialized modules: buddy-core for cryptographic APIs, buddy-auth for Ring-based web application security, buddy-hashers for password hashing, and buddy-sign for JWS and JWE message signing.

Tokens
535
Snippets
2
Records
6
Agent score
24%

What's inside buddy

  1. Overview of buddy-core features

    master

    buddy-core provides the fundamental Cryptographic API for Clojure. It includes:

    • Cryptographic hash algorithms (digest)
    • Key derivation algorithms (kdf)
    • Digital signatures
    • Message authentication (mac)
    • Block ciphers and stream ciphers
    • Padding schemes
    • Nonces and salts
    • Encryption (block & stream ciphers)
    • Signature & authentication (mac & digital signature)
  2. Overview of buddy-auth features

    master

    buddy-auth provides Authentication and Authorization specifically for Ring and Ring-based web applications. It includes:

    • Authentication middlewares for Ring
    • Authorization middleware for Ring
    • Authentication/Authorization backends (token, http-basic, session)
    • Access rules system
  3. Migrate from the deprecated buddy monolithic package to individual modules

    master

    IMPORTANT: The buddy monolithic package is deprecated and will not be updated.

    Instead of using the single buddy dependency, you should include only the specific modules required for your project to improve modularity and reduce dependency overhead.

    Available modules:

    • buddy-core: Cryptographic API (hashes, KDF, signatures, ciphers, etc.).
    • buddy-auth: Authentication and Authorization for Ring-based web applications.
    • buddy-hashers: Secure password hashing algorithms (bcrypt, scrypt, etc.).
    • buddy-sign: High-level message signing (JWS, JWE, etc.).
    ;; Deprecated monolithic usage
    [buddy "2.0.0"]
    
    ;; Recommended modular usage (examples)
    [buddy "<version>"]
    buddy-auth
    [buddy "<version>"]
    buddy-core
    [buddy "<version>"]
    buddy-hashers
    [buddy "<version>"]
    buddy-sign
  4. Install the monolithic buddy meta-package (Deprecated)

    master

    If you require the full suite of Buddy features and prefer the monolithic version, you can include the buddy meta-package. Note that this package is deprecated.

    [buddy "2.0.0"]