diff --git a/docs/tutorials/img/social-login/social_login_buttons.png b/docs/tutorials/img/social-login/social_login_buttons.png new file mode 100644 index 0000000000..476081e0fc Binary files /dev/null and b/docs/tutorials/img/social-login/social_login_buttons.png differ diff --git a/docs/tutorials/img/social-login/social_login_buttons_disabled.png b/docs/tutorials/img/social-login/social_login_buttons_disabled.png new file mode 100644 index 0000000000..7b11a7802d Binary files /dev/null and b/docs/tutorials/img/social-login/social_login_buttons_disabled.png differ diff --git a/docs/tutorials/prowler-app-social-login.md b/docs/tutorials/prowler-app-social-login.md new file mode 100644 index 0000000000..6b4dd53a57 --- /dev/null +++ b/docs/tutorials/prowler-app-social-login.md @@ -0,0 +1,52 @@ +# Social Login Configuration + +The **Prowler App** supports social login using Google and GitHub OAuth providers. This document guides you through configuring the required environment variables to enable social authentication. + +Social login buttons + +## Configuring Social Login Credentials + +To enable social login with Google and GitHub, you must define the following environment variables: + +### Google OAuth Configuration + +Set the following environment variables for Google OAuth: + +```env +SOCIAL_GOOGLE_OAUTH_CLIENT_ID="" +SOCIAL_GOOGLE_OAUTH_CLIENT_SECRET="" +``` + +### GitHub OAuth Configuration + +Set the following environment variables for GitHub OAuth: + +```env +SOCIAL_GITHUB_OAUTH_CLIENT_ID="" +SOCIAL_GITHUB_OAUTH_CLIENT_SECRET="" +``` + +### Important Notes + +- If either `SOCIAL_GOOGLE_OAUTH_CLIENT_ID` or `SOCIAL_GOOGLE_OAUTH_CLIENT_SECRET` is empty or not defined, the Google login button will be disabled. +- If either `SOCIAL_GITHUB_OAUTH_CLIENT_ID` or `SOCIAL_GITHUB_OAUTH_CLIENT_SECRET` is empty or not defined, the GitHub login button will be disabled. + + +Social login buttons disabled + +## Obtaining OAuth Credentials + +To obtain `CLIENT_ID` and `CLIENT_SECRET` for each provider, follow their official documentation: + +- **Google OAuth**: [Google OAuth Credentials Setup](https://developers.google.com/identity/protocols/oauth2) +- **GitHub OAuth**: [GitHub OAuth App Setup](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app) + +### Steps Overview + +For both providers, the process generally involves: + +1. Registering your application in the provider's developer portal. +2. Defining the authorized redirect URL (`SOCIAL__OAUTH_CALLBACK_URL`). +3. Copying the generated `CLIENT_ID` and `CLIENT_SECRET` into the corresponding environment variables. + +Once completed, ensure your environment variables are correctly loaded in your Prowler deployment to activate social login. diff --git a/docs/tutorials/prowler-app.md b/docs/tutorials/prowler-app.md index 6228836fcf..61c92d2a15 100644 --- a/docs/tutorials/prowler-app.md +++ b/docs/tutorials/prowler-app.md @@ -9,11 +9,23 @@ You can also access to the auto-generated **Prowler API** documentation at [http If you are a [Prowler Cloud](https://cloud.prowler.com/sign-in) user you can see API docs at [https://api.prowler.com/api/v1/docs](https://api.prowler.com/api/v1/docs) ## **Step 1: Sign Up** +### **Sign up with Email** To get started, sign up using your email and password: Sign Up Button Sign Up +### **Sign up with Social Login** + +If Social Login is enabled, you can sign up using your preferred provider (e.g., Google, GitHub). + +???+ note "How Social Login Works" + - If your email is already registered, you will be logged in, and your social account will be linked. + - If your email is not registered, a new account will be created using your social account email. + +???+ note "Enable Social Login" + See [how to configure Social Login for Prowler](prowler-app-social-login.md) to enable this feature in your own deployments. + --- ## **Step 2: Log In** diff --git a/mkdocs.yml b/mkdocs.yml index a2fa253e4e..b9c6a034ee 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -50,26 +50,27 @@ nav: - Requirements: getting-started/requirements.md - Tutorials: - Prowler App: - - Getting Started: tutorials/prowler-app.md - - Role-Based Access Control: tutorials/prowler-app-rbac.md + - Getting Started: tutorials/prowler-app.md + - Role-Based Access Control: tutorials/prowler-app-rbac.md + - Social Login: tutorials/prowler-app-social-login.md - CLI: - - Miscellaneous: tutorials/misc.md - - Reporting: tutorials/reporting.md - - Compliance: tutorials/compliance.md - - Dashboard: tutorials/dashboard.md - - Fixer (remediations): tutorials/fixer.md - - Quick Inventory: tutorials/quick-inventory.md - - Slack Integration: tutorials/integrations.md - - Configuration File: tutorials/configuration_file.md - - Logging: tutorials/logging.md - - Mutelist: tutorials/mutelist.md - - Check Aliases: tutorials/check-aliases.md - - Custom Metadata: tutorials/custom-checks-metadata.md - - Scan Unused Services: tutorials/scan-unused-services.md - - Pentesting: tutorials/pentesting.md - - Parallel Execution: tutorials/parallel-execution.md - - Developer Guide: developer-guide/introduction.md - - Prowler Check Kreator: tutorials/prowler-check-kreator.md + - Miscellaneous: tutorials/misc.md + - Reporting: tutorials/reporting.md + - Compliance: tutorials/compliance.md + - Dashboard: tutorials/dashboard.md + - Fixer (remediations): tutorials/fixer.md + - Quick Inventory: tutorials/quick-inventory.md + - Slack Integration: tutorials/integrations.md + - Configuration File: tutorials/configuration_file.md + - Logging: tutorials/logging.md + - Mutelist: tutorials/mutelist.md + - Check Aliases: tutorials/check-aliases.md + - Custom Metadata: tutorials/custom-checks-metadata.md + - Scan Unused Services: tutorials/scan-unused-services.md + - Pentesting: tutorials/pentesting.md + - Parallel Execution: tutorials/parallel-execution.md + - Developer Guide: developer-guide/introduction.md + - Prowler Check Kreator: tutorials/prowler-check-kreator.md - AWS: - Authentication: tutorials/aws/authentication.md - Assume Role: tutorials/aws/role-assumption.md