diff --git a/docs/how-to-connect/saml/google-workspace.md b/docs/how-to-connect/saml/google-workspace.md new file mode 100644 index 000000000..a08c586c2 --- /dev/null +++ b/docs/how-to-connect/saml/google-workspace.md @@ -0,0 +1,58 @@ +--- +title: Google Workspcae +description: Using Casdoor as SAML IdP +keywords: [SAML, IdP] +authors: [UsherFall] +--- + + + +## Casdoor as a SAML IdP in Google Workspace + +This guide will show you how to configure Casdoor and Google Workspace to add Casdoor as a SAML IdP in Google Workspace + +### Add Certificate + +In Casdoor, add a certificate of type X.509 with RSA crypto algorithm and download it. + +![](/img/how-to-connect/saml/saml_google-workspace_cert.png) + +### Configure SAML Application + +In the application edit page, select the certificate you just created. Add the domain name of the Google application you will use in the **Redirect URLs**, such as google.com. + +![](/img/how-to-connect/saml/saml_google-workspace_app.png) + +In the **SAML reply URL** field, enter`https://www.google.com/a//acs`, which is the ACS URL. You can find relevant information about ACS URL here: [SSO assertion requirements](https://support.google.com/a/answer/6330801) + +![](/img/how-to-connect/saml/saml_google-workspace_acs.png) + +Copy the **sigin page URL**. This will be used in the next step. + +![](/img/how-to-connect/saml/saml_google-workspace_login.png) + +### Add Third-Party SAML IdP for Google Workspace + +In the Google Workspace Admin console, navigate to **Security** and then **Overview**. Look for the **SSO with third-party Idp** section. +Click on Add SSO profile to access the editing page. Check the Set up SSO with third-party identity provider checkbox. Paste the copied sigin page URL into the **Sign-in page URL** and **Sign-out page URL** fields. Upload the certificate downloaded in the previous step. Click Save to save the changes. + +![](/img/how-to-connect/saml/saml_google-workspace_conf.png) + +### Add Users for Testing + +In Google Workspace, create a user with the username "test" (you can customize the username, this is just an example). + +![](/img/how-to-connect/saml/saml_google-workspace_user.png) + +In Casdoor, add a user with the same username as set in Google Workspace. Make sure to select the appropriate organization and enter the user's email address. + +![](/img/how-to-connect/saml/saml_google-workspace_test.png) + +As an example using "google.com," follow these steps: +1. Click on the login button on the Google.com page. +Enter the user's email address to initiate the login process. +2. You will be redirected to the Casdoor page. +On the Casdoor page, enter the corresponding email address and password. +3. If the login is successful, you will be redirected back to google.com + +![](/img/how-to-connect/saml/saml_google-workspace_test_gif.gif) \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index e0b048732..9d8bf1056 100644 --- a/sidebars.js +++ b/sidebars.js @@ -70,6 +70,7 @@ module.exports = { items: [ "how-to-connect/saml/overview", "how-to-connect/saml/keycloak", + "how-to-connect/saml/google-workspace", "how-to-connect/saml/appgate", ], }, diff --git a/static/img/how-to-connect/saml/saml_google-workspace_acs.png b/static/img/how-to-connect/saml/saml_google-workspace_acs.png new file mode 100644 index 000000000..566d75953 Binary files /dev/null and b/static/img/how-to-connect/saml/saml_google-workspace_acs.png differ diff --git a/static/img/how-to-connect/saml/saml_google-workspace_app.png b/static/img/how-to-connect/saml/saml_google-workspace_app.png new file mode 100644 index 000000000..c2cec8cdd Binary files /dev/null and b/static/img/how-to-connect/saml/saml_google-workspace_app.png differ diff --git a/static/img/how-to-connect/saml/saml_google-workspace_cert.png b/static/img/how-to-connect/saml/saml_google-workspace_cert.png new file mode 100644 index 000000000..92c59072a Binary files /dev/null and b/static/img/how-to-connect/saml/saml_google-workspace_cert.png differ diff --git a/static/img/how-to-connect/saml/saml_google-workspace_conf.png b/static/img/how-to-connect/saml/saml_google-workspace_conf.png new file mode 100644 index 000000000..f448eb1c4 Binary files /dev/null and b/static/img/how-to-connect/saml/saml_google-workspace_conf.png differ diff --git a/static/img/how-to-connect/saml/saml_google-workspace_login.png b/static/img/how-to-connect/saml/saml_google-workspace_login.png new file mode 100644 index 000000000..3eb29a93b Binary files /dev/null and b/static/img/how-to-connect/saml/saml_google-workspace_login.png differ diff --git a/static/img/how-to-connect/saml/saml_google-workspace_test.png b/static/img/how-to-connect/saml/saml_google-workspace_test.png new file mode 100644 index 000000000..c8f59a2ea Binary files /dev/null and b/static/img/how-to-connect/saml/saml_google-workspace_test.png differ diff --git a/static/img/how-to-connect/saml/saml_google-workspace_test_gif.gif b/static/img/how-to-connect/saml/saml_google-workspace_test_gif.gif new file mode 100644 index 000000000..8ca8353e9 Binary files /dev/null and b/static/img/how-to-connect/saml/saml_google-workspace_test_gif.gif differ diff --git a/static/img/how-to-connect/saml/saml_google-workspace_user.png b/static/img/how-to-connect/saml/saml_google-workspace_user.png new file mode 100644 index 000000000..4a12c86c2 Binary files /dev/null and b/static/img/how-to-connect/saml/saml_google-workspace_user.png differ