installation

Installation Guide

Omni-Authify is a Python library that makes it easy to add OAuth2 authentication to your applications. This documentation will guide you through installation, usage, and configuration.

📚 Table of Contents


📦 Installation Options 🛠️

Basic Installation:

Install Omni-Authify using pip:

pip install omni-authify[django] # for Django based projects
pip install omni-authify[drf] # for Django Rest framework base project
pip install omni-authify[fastapi] # for FastAPI based projects
pip install omni-authify[flask] # for Flask based projects

📋 Requirements

  • Python 3.8+

  • pip 24.3.1+

🔗 Dependencies

  • requests: requests>=2.32.3

🧩 Framework-Specific Dependencies

Django Support

  • Django: Django>=4.2, <=5.1.3

  • Django REST Framework: djangorestframework>=3.12.3, <=3.15.2

Web Framework Support

  • Flask: Flask>=3.0.0

  • FastAPI: fastapi>=0.115.0


🚀 Usage Guides

Omni-Authify supports multiple providers, including Facebook, Instagram, and Google. Each provider requires specific credentials to get started.

⚙️ Provider Configuration

# settings.py

import os 
from dotenv import load_dotenv

load_dotenv()


OMNI_AUTHIFY = {
    'PROVIDERS': {
        'facebook': {
            'client_id': os.getenv('FACEBOOK_CLIENT_ID'),
            'client_secret': os.getenv('FACEBOOK_CLIENT_SECRET'),
            'redirect_uri': os.getenv('FACEBOOK_REDIRECT_URI'),
            'state': os.getenv('FACEBOOK_STATE'), # optional
            'scope': os.getenv('FACEBOOK_SCOPE'), # by default | add other FB app permissions you have!
            'fields': os.getenv('FACEBOOK_FIELDS'),
        },
        'github':{
            'client_id':os.getenv('GITHUB_CLIENT_ID'),
            'client_secret':os.getenv('GITHUB_CLIENT_SECRET'),
            'redirect_uri':os.getenv('GITHUB_REDIRECT_URI'),
            'state': os.getenv('GITHUB_STATE'),
            'scope':os.getenv('GITHUB_SCOPE'),
        },
        'google': {
            'client_id': os.getenv('GOOGLE_CLIENT_ID'),
            'client_secret': os.getenv('GOOGLE_CLIENT_SECRET'),
            'redirect_uri': os.getenv('GOOGLE_REDIRECT_URI'),
            'state': os.getenv('GOOGLE_STATE'), # optional
            'scope': os.getenv('GOOGLE_SCOPES'),
        },
        'linkedin': {
            'client_id': os.getenv('LINKEDIN_CLIENT_ID'),
            'client_secret': os.getenv('LINKEDIN_CLIENT_SECRET'),
            'redirect_uri': os.getenv('LINKEDIN_REDIRECT_URI'),
            'scope': os.getenv('LINKEDIN_SCOPE'),
        },
                
        # Add other providers here if needed
        'telegram': {
            # Coming....
        }
    }
}

🌟 [More Provider Configurations Coming Soon...]


📜 License

Omni-Authify is licensed under the MIT License. See the LICENSE file for details.


Omni-Authify makes adding OAuth2 authentication to your project a breeze. Follow the instructions above to integrate social logins into your app quickly and efficiently!

Last updated

Was this helpful?