From a10f551023615c159ef828536c54535078805e4e Mon Sep 17 00:00:00 2001 From: Claudius Coenen Date: Thu, 4 Oct 2018 11:03:58 +0200 Subject: [PATCH] How to use Nextcloud as OAuth2 Provider for CodiMD Signed-off-by: Claudius Coenen --- docs/guides/auth/nextcloud.md | 52 ++++++++++++++++++ .../auth/nextcloud-oauth2-1-settings.png | Bin 0 -> 47047 bytes .../auth/nextcloud-oauth2-2-client-add.png | Bin 0 -> 11684 bytes .../nextcloud-oauth2-3-clientid-secret.png | Bin 0 -> 13428 bytes 4 files changed, 52 insertions(+) create mode 100644 docs/guides/auth/nextcloud.md create mode 100644 docs/guides/images/auth/nextcloud-oauth2-1-settings.png create mode 100644 docs/guides/images/auth/nextcloud-oauth2-2-client-add.png create mode 100644 docs/guides/images/auth/nextcloud-oauth2-3-clientid-secret.png diff --git a/docs/guides/auth/nextcloud.md b/docs/guides/auth/nextcloud.md new file mode 100644 index 0000000..108772d --- /dev/null +++ b/docs/guides/auth/nextcloud.md @@ -0,0 +1,52 @@ +Authentication guide - Nextcloud (self-hosted) +=== + +*This has been constructed using the [Nextcloud OAuth2 Documentation](https://docs.nextcloud.com/server/14/admin_manual/configuration_server/oauth2.html?highlight=oauth2) combined with [this issue comment on the nextcloud bugtracker](https://github.com/nextcloud/server/issues/5694#issuecomment-314761326).* + +This guide uses the generic OAuth2 module for compatibility with Nextcloud 13 and above (this guide has been tested successfully with Nextcloud 14). + +1. Sign-in with an administrator account to your Nextcloud server + +2. Navigate to the OAuth integration settings: Profile Icon (top right) --> Settings + Then choose Security Settings from the *Administration* part of the list - Don't confuse this with Personal Security Settings, where you would change your personal password! + At the top there's OAuth 2.0-Clients. + ![Where to find OAuth2 in Nextcloud](../images/auth/nextcloud-oauth2-1-settings.png) + +3. Add your CodiMD instance by giving it a *name* (perhaps CodiMD, but could be anything) and a *Redirection-URI*. The Redirection-URI will be `\/auth/oauth2/callback`. Click Add. + ![Adding a client to Nextcloud](../images/auth/nextcloud-oauth2-2-client-add.png) + + +4. You'll now see a line containing a *client identifier* and a *Secret*. + ![Successfully added OAuth2-client](../images/auth/nextcloud-oauth2-3-clientid-secret.png) + +5. That's it for Nextcloud, the rest is configured in your CodiMD `config.json` or via the `CMD_` environment variables! + +6. Add the Client ID and Client Secret to your `config.json` file or pass them as environment variables. Make sure you also replace `` with the right domain name. + * `config.json`: + ```javascript + { + "production": { + "oauth2": { + "clientID": "ii4p1u3jz7dXXXXXXXXXXXXXXX", + "clientSecret": "mqzzx6fydbXXXXXXXXXXXXXXXX", + "authorizationURL": "https:///apps/oauth2/authorize", + "tokenURL": "https:///apps/oauth2/api/v1/token", + "userProfileURL": "https:///ocs/v2.php/cloud/user?format=json", + "userProfileUsernameAttr": "ocs.data.id", + "userProfileDisplayNameAttr": "ocs.data.display-name", + "userProfileEmailAttr": "ocs.data.email" + } + } + } + ``` + * environment variables: + ```sh + CMD_OAUTH2_CLIENT_ID=ii4p1u3jz7dXXXXXXXXXXXXXXX + CMD_OAUTH2_CLIENT_SECRET=mqzzx6fydbXXXXXXXXXXXXXXXX + CMD_OAUTH2_AUTHORIZATION_URL=https:///apps/oauth2/authorize + CMD_OAUTH2_TOKEN_URL=https:///apps/oauth2/api/v1/token + CMD_OAUTH2_USER_PROFILE_URL=https:///ocs/v2.php/cloud/user?format=json + CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR=ocs.data.id + CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=ocs.data.display-name + CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR=ocs.data.email + ``` diff --git a/docs/guides/images/auth/nextcloud-oauth2-1-settings.png b/docs/guides/images/auth/nextcloud-oauth2-1-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..82652a54ff1dafe5e7a490c7fa730472dec7c237 GIT binary patch literal 47047 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%0A*&AI`;@{V|bwS8FwWzZ4 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 KX4#Dg&;JjXZpvu@ literal 0 HcmV?d00001 diff --git a/docs/guides/images/auth/nextcloud-oauth2-2-client-add.png b/docs/guides/images/auth/nextcloud-oauth2-2-client-add.png new file mode 100644 index 0000000000000000000000000000000000000000..7909fa62898a1bb559d9e5b2a99190a2ba1535de GIT binary patch literal 11684 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 literal 0 HcmV?d00001