8000 GitHub - vigiloauth/vigilo: OAuth 2.0 & OIDC Auth Server and Identity Provider
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

vigiloauth/vigilo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VigiloAuth

Latest Version Github Repo Stars Open Source Helpers badge Go Report Go Coverage golangci-lint


πŸ’‘ VigiloAuth is under active development and already supports core OAuth2 and OIDC flows, with more on the way!

βš–οΈ Apache 2.0 License: This server is free and open source, developed for community use and OIDF certification.

πŸ’¬ Join the Conversation: We're gathering feedback and ideas in the discussion threads. Come share your thoughts!

πŸ’» The Admin UI can be found here


Table of Contents


1. Introduction

VigiloAuth is designed to simplify the implementation of OAuth 2.0 and OpenID Connect (OIDC) authentication servers. Whether you need a full-fledged authentication server, an identity server, or both, VigiloAuth provides compliant endpoints that you can easily integrate into your application without writing any complex code.

With VigiloAuth, you can quickly set up secure authentication and identity management solutions for your application, allowing users to authenticate and easily manage their identities. VigiloAuth comes pre-configured with common authentication flows and identity management endpoints, saving you time and effort while making sure that your system complies with industry standards.

Whether you are building a simple app or a complex enterprise system, VigiloAuth provides a solid foundation for handling authentication and identity management with minimal effort.


2. Features

2.1. Currently Implemented

  • βœ… User Registration
  • βœ… User Email Verification
  • βœ… Basic User Authentication
  • βœ… OAuth User Authentication
  • βœ… Authorization Code Flow
  • βœ… Authorization Code Flow With PKCE
  • βœ… Resource Owner Password Credentials Flow
  • βœ… Client Credentials Flow
  • βœ… Dynamic Client Registration
  • βœ… Audit Logging
  • βœ… Docker Server Instance
  • βœ… Token Refresh
  • βœ… Token Introspection
  • βœ… Token Revocation
  • βœ… OIDC UserInfo Endpoint
  • βœ… OIDC Discovery Endpoint
  • βœ… OIDC JSON Web Key Set Endpoint
  • βœ… In Memory Storage

2.2. Planned Features

  • πŸ› οΈ Realm Support
  • πŸ› οΈ Phone Number Verification
  • πŸ› οΈ Password Recovery
  • πŸ› οΈ User Profile Management
  • πŸ› οΈ Role-Based Access Control (RBAC)
  • πŸ› οΈ Scope-Based Access Control
  • πŸ› οΈ User Consent Management
  • πŸ› οΈ Time-Based OTP Authentication
  • πŸ› οΈ Backup Recovery Codes
  • πŸ› οΈ Implicit Grant Flow
  • πŸ› οΈ OIDC Hybrid Flow
  • πŸ› οΈ Device Authorization Grant
  • πŸ› οΈ Back Channel Authentication Flow
  • πŸ› οΈ Social Login Integration Hooks
  • πŸ› οΈ Dynamic Database Configuration
  • πŸ› οΈ UI for User Authentication

2.3. Open ID Conformance Tests

You can find the list of our currently passing conformance tests here.


3. Documentation

Comprehensive documentation is available in the User Guide.


4. Contributing

We welcome contributions to improve VigiloAuth! Follow the steps below to ensure a smooth contribution process.

If you're a first-time contributor, check out our Good First Issues.

4.1 How to Contribute

  1. Fork the Repository: Create your own fork on GitHub.
  2. Clone Your Fork: Clone it to your local development environment.
  3. Create a Branch: Create a new branch from master (e.g., feature/my-feature).
  4. Make Your Changes: Implement your changes in alignment with project goals.
  5. Write Tests: Add or update tests to cover your changes.
  6. Commit Your Changes: Use Conventional Commits (see below).
  7. Push Your Changes: Push your branch to your GitHub fork.
  8. Open a Pull Request: Submit a PR to the main repository and clearly describe your changes.

4.2. Commit Standards

We follow the Conventional Commit standards to ensure clear and meaningful commit messages. Use the format:

<type>[optional scope]: <description>
[optional body]
[optional footer(s)]

4.3. Commit Types

  • breaking: Introduce a breaking change that may require users to modify their code or dependencies.
  • feat: Add a new feature that enhances the functionality of the project.
  • fix: Apply a bug fix that resolves an issue without affecting functionality.
  • task: Add or modify internal functionality that supports the codebase but doesn't introduce a new feature or fix a bug (e.g., utility methods, service logic, or internal improvements).
  • docs: Update documentation, such as fixing typos or adding new information.
  • style: Changes that don’t affect the code’s behavior, like formatting or code style adjustments.
  • refactor: Refactor code without adding features or fixing bugs.
  • test: Add or modify tests.
  • chore: Miscellaneous changes like updates to build tools or dependencies.

For more information about contributing, please read our contribution guide


5. License

Copyright 2024 Olivier PimparΓ©-Charbonneau

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

0