# Use the same user database and login credentials in multiple discourse instances

**URL:** https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584
**Category:** SSO
**Created:** [12. Juni 2016 um 11:53 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584 "2016-06-12T11:53:50Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![auryn\_macmillan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/auryn_macmillan/32/56633_2.png) [@auryn\_macmillan](https://meta.discourse.org/u/auryn_macmillan)
#### Post date: [12. Juni 2016 um 11:53 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/1 "2016-06-12T11:53:50Z")

</div>

I know that it is possible to run multiple instances of discourse on the same server using a multisite setup. I’m wondering if it would be possible for multiple instances of discourse to make use of the same user database? So that a user could sign-up on any one of several different forums and use those same credentials to log in to all of the others. If a user’s whole profile (trust level, profile detail, pictures, etc) could be synced across each instance, this would be ideal for our use-case.

---

<div class="post-metadata">

### Author: ![fefrei](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fefrei/32/119538_2.png) [@fefrei](https://meta.discourse.org/u/fefrei)
#### Post date: [12. Juni 2016 um 13:28 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/2 "2016-06-12T13:28:09Z")

</div>

You can set up [single sign-on](https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045) between both instances.

---

<div class="post-metadata">

### Author: ![auryn\_macmillan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/auryn_macmillan/32/56633_2.png) [@auryn\_macmillan](https://meta.discourse.org/u/auryn_macmillan)
#### Post date: [12. Juni 2016 um 22:48 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/3 "2016-06-12T22:48:37Z")

</div>

This would require us to use some 3rd party authentication correct? We’re quite happy with Discourse authentication, would it be possible to use Discourse’s Auth from one instance as SSO for the other instances?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [12. Juni 2016 um 23:40 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/4 "2016-06-12T23:40:28Z")

</div>

You would be using your own auth, from your master website.

(Do you not have a parent or master website people already log in to?)

---

<div class="post-metadata">

### Author: ![auryn\_macmillan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/auryn_macmillan/32/56633_2.png) [@auryn\_macmillan](https://meta.discourse.org/u/auryn_macmillan)
#### Post date: [12. Juni 2016 um 23:55 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/5 "2016-06-12T23:55:31Z")

</div>

No, the only portion of our website that requires auth is Discourse.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [13. Juni 2016 um 00:17 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/6 "2016-06-13T00:17:25Z")

</div>

Aha in that case one of them will have to be the master auth, I suppose. Any thoughts on this @sam?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [13. Juni 2016 um 00:18 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/7 "2016-06-13T00:18:25Z")

</div>

Sure, Discourse can act as an SSO provider for another Discourse instance.

---

<div class="post-metadata">

### Author: ![auryn\_macmillan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/auryn_macmillan/32/56633_2.png) [@auryn\_macmillan](https://meta.discourse.org/u/auryn_macmillan)
#### Post date: [13. Juni 2016 um 00:19 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/8 "2016-06-13T00:19:51Z")

</div>

Awesome, is there any documentation that for setting something like this up?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [13. Juni 2016 um 00:23 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/9 "2016-06-13T00:23:33Z")

</div>

Follow the breadcrumbs 🍞

> [@Use Discourse as an identity provider (SSO, DiscourseConnect)](https://meta.discourse.org/t/using-discourse-as-a-sso-provider/32974):
>
> So you want to use Discourse as an identity provider for your own web app? Great! Let’s get started. Enable [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) provider setting Under Discourse admin site settings (/admin/site\_settings) enable setting enable discourse connect provider and add a secret string to discourse connect provider secrets (used to hash SSO payloads). Implement [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) in your web app: Generate a random [nonce](https://en.wikipedia.org/wiki/Cryptographic_nonce). Let’s call this value NONCE. Save it temporarily so that you can verify it with the …

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [13. Juni 2016 um 00:55 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/10 "2016-06-13T00:55:39Z")

</div>

I still think this is gonna be weird since one of the Discourse sites – and how do you tell the user which one is the “right” one – will be the master auth site. There still needs to be an understandable hierarchy here of some kind.

---

<div class="post-metadata">

### Author: ![auryn\_macmillan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/auryn_macmillan/32/56633_2.png) [@auryn\_macmillan](https://meta.discourse.org/u/auryn_macmillan)
#### Post date: [13. Juni 2016 um 05:11 UTC](https://meta.discourse.org/t/use-the-same-user-database-and-login-credentials-in-multiple-discourse-instances/45584/11 "2016-06-13T05:11:29Z")

</div>

I’ve just enabled it SSO on our test forum, using our main forum as the SSO provider. Even without explicitly stating the hierarchy (which may be necessary if we start implementing multiple instances) signing in seems pretty user friendly.
