{"repo":"theopenlane/iam","free":true,"listed":false,"github":"https://github.com/theopenlane/iam","clone":"git clone https://github.com/theopenlane/iam.git","description":"identity and access management tooling and wrappers + helpers","language":"Go","stars":19,"topics":["authentication","authorization","fine-grained-authorization","go","go-library","golang","openfga","sessions","hacktoberfest","hacktoberfest-2025"],"license":"Apache-2.0","category":"auth-billing-email","readme_excerpt":"Identity and Access Management (IAM) This repository contains the iam libraries, which is a collection of packages that control the authentication and authorization of users and services within Openlane. The repo is laid out at a high level containing: - auth: primarily context interactions type definitions - fgax: wrapper to interact with the OpenFGA go-sdk and client libraries - entfga: an ent extension to create relationship tuples using ent Hooks - providers: third party authentication flow(s); today github, google, oauth2 are supported with webauthn and oidc in-progress - sessions: interfaces for managing user sessions with support for Redis as the session store - tokens: tokenmanager which can create and validate tokens of various types, e.g. refresh tokens, access tokens, url tokens, etc. - totp: second factor authentication library for generating unique, temporary passcodes Token Signing (EdDSA) The tokens package now issues and validates JWTs using Ed25519 ( EdDSA ). A few highlights: - PEM files referenced in tokens.Config.Keys must contain Ed25519 key material encoded as PKCS#8 ( PRIVATE KEY ) with an accompanying PUBLIC KEY block. - JWKS responses advertise alg=EdDSA / kty=OKP entries and will interoperate with lestrrat-go/jwx compatible consumers. - The TokenManager exposes AddSigningKey / NewWithKey that accept generic crypto.Signer implementations; callers need to pass Ed25519 signers and handle returned errors. CurrentKeyID() surfaces the active key identifier","default_branch":null,"files":null,"tree":[],"storefront":"/r/theopenlane","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/theopenlane/iam/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}