Skip to content

Commit 85068ba

Browse files
OAuth 2.0 integration
1 parent 33f2026 commit 85068ba

File tree

5 files changed

+59
-0
lines changed

5 files changed

+59
-0
lines changed
67.4 KB
Loading
46.9 KB
Loading
18.8 KB
Loading
50.6 KB
Loading

source/adminguide/accounts.rst

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -627,6 +627,65 @@ The following global configuration should be configured:
627627

628628
- ``saml2.timeout``: SAML2 IDP Metadata refresh interval in seconds, minimum value is set to 300. Default is 1800
629629

630+
Using OAuth2 Authentication For Users
631+
------------------------------------------
632+
633+
OAuth2, the industry-standard authorization or authentication framework, simplifies the process of
634+
granting access to resources. CloudStack supports OAuth2 authentication wherein users can login into
635+
CloudStack without using username and password. CloudStack currently supports Google and Github providers.
636+
Other OAuth2 providers can be easily integrated with CloudStack using its plugin framework.
637+
638+
For admins, the following are the settings available at global level to configure OAuth2.
639+
640+
.. cssclass:: table-striped table-bordered table-hover
641+
642+
================================================ ================ ===================================================================
643+
Global setting Default values Description
644+
================================================ ================ ===================================================================
645+
oauth2.enabled false Indicates whether OAuth plugin is enabled or not
646+
oauth2.plugins google,github List of OAuth plugins
647+
oauth2.plugins.exclude List of OAuth plugins which are excluded
648+
================================================ ================ ===================================================================
649+
650+
The login page when the OAuth2 is enabled and corresponding providers are configured.
651+
652+
.. image:: /_static/images/oauth-login.png
653+
:width: 400px
654+
:align: center
655+
:alt: Login page with OAuth logins
656+
657+
"OAuth configuration" sub-section is added under "Configuration" where admins can register the corresponding
658+
OAuth providers.
659+
660+
.. image:: /_static/images/oauth-sub-section.png
661+
:width: 400px
662+
:align: center
663+
:alt: OAuth configuration section
664+
665+
.. image:: /_static/images/oauth-configuration-details.png
666+
:width: 400px
667+
:align: center
668+
:alt: OAuth configuration details
669+
670+
To register the OAuth provider client ID, redirect URI, secret key have to provided.
671+
OAuth 2.0 has to be first configured in the corresponding provider to obtain the client ID, redirect URI, secret Key.
672+
673+
For Google, please follow the instructions mentioned here `"Setting up OAuth 2.0 in Google" <https://support.google.com/cloud/answer/6158849?hl=en>`_.
674+
For Github, please follow the instructions mentioned here `"Setting up OAuth 2.0 in Github" <https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app>`_.
675+
676+
In any OAuth 2.0 configuration admin has to use the redirect URI "http://<management server IP>:<port>/#/verifyOauth"
677+
678+
.. Note:: [Google OAuth 2.0 redirect URI] :
679+
Google OAuth 2.0 configuration wont accept '#' in the URI, please use "http://<management server IP>:<port>/verifyOauth"
680+
681+
Email address is the key to identify the user in CloudStack. In case if user belongs to any specific domain, domain name
682+
has to be provided in the login form and then click on OAuth login.
683+
684+
.. image:: /_static/images/user-domain-login.png
685+
:width: 400px
686+
:align: center
687+
:alt: Login page for user under specific domain
688+
630689
Using Two Factor Authentication For Users
631690
------------------------------------------
632691

0 commit comments

Comments
 (0)