# 将Discourse Auth Proxy用作另一个站点的SSO提供者

**URL:** https://meta.discourse.org/t/using-discourse-auth-proxy-as-an-sso-provider-for-another-site/312872
**Category:** SSO
**Created:** [2024年六月20日 11:11 UTC](https://meta.discourse.org/t/using-discourse-auth-proxy-as-an-sso-provider-for-another-site/312872 "2024-06-20T11:11:27Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![bstgmr02](https://avatars.discourse-cdn.com/v4/letter/b/858c86/32.png) [@bstgmr02](https://meta.discourse.org/u/bstgmr02)
#### Post date: [2024年六月20日 11:11 UTC](https://meta.discourse.org/t/using-discourse-auth-proxy-as-an-sso-provider-for-another-site/312872/1 "2024-06-20T11:11:27Z")

</div>

我的想法很简单，我想在我的另一个网站上使用 Discourse 作为 SSO 提供商。Discourse 指引我使用 [Discourse Auth Proxy](https://github.com/discourse/discourse-auth-proxy)。我已经使用了下面的配置：

```plaintext
#!/bin/sh

# 你需要设置以下环境变量并像这样运行
# 镜像

PROXY_URL=http://0.0.0.0:80
ORIGIN_URL=https://mycustomsite.com
SSO_SECRET=RandomStringSecret
SSO_URL=https://my.discourseforum.com
HOST_PORT=7925

docker run -d --restart=always -e ORIGIN_URL=$ORIGIN_URL -e PROXY_URL=$PROXY_URL -e SSO_SECRET=$SSO_SECRET -e SSO_URL=$SSO_URL -p $HOST_PORT:80 discourse/auth-proxy

```

在我的 Discourse 论坛中，我已经启用了：

### 启用 [Discourse Connect](https://meta.discourse.org/t/13045?silent=true) 提供商

在 [Discourse Connect](https://meta.discourse.org/t/13045?silent=true) 提供商的密钥中，我输入了 [https://mycustomsite.com](https://mycustomsite.com)，并将 RandomStringSecret 作为密钥。但是，我遇到了这个问题：

**由于缺少密钥而导致身份验证失败。请联系网站管理员解决此问题。**

我尝试解码查询参数中的 payload，并得到了以下数据：

```plaintext
{
  return_sso_url: 'http://0.0.0.0:80/',
  nonce: '9431ad68-55b3-49a6-8b9a-a1d7209506e7'
}

```

不确定这是否有帮助，我已经为此奋斗了 2 个小时。请告诉我我是否正确地使用了它。我想为我的网站创建一个基本的 [Discourse SSO](https://meta.discourse.org/t/13045?silent=true) 提供商，它将为我的网站提供可用的用户数据。

---

<div class="post-metadata">

### Author: ![bstgmr02](https://avatars.discourse-cdn.com/v4/letter/b/858c86/32.png) [@bstgmr02](https://meta.discourse.org/u/bstgmr02)
#### Post date: [2024年六月24日 07:30 UTC](https://meta.discourse.org/t/using-discourse-auth-proxy-as-an-sso-provider-for-another-site/312872/2 "2024-06-24T07:30:01Z")

</div>

顶一下，有人吗？

---

<div class="post-metadata">

### Author: ![DaBai\_LuoBo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dabai_luobo/32/487128_2.png) [@DaBai\_LuoBo](https://meta.discourse.org/u/DaBai_LuoBo)
#### Post date: [2025年二月18日 05:19 UTC](https://meta.discourse.org/t/using-discourse-auth-proxy-as-an-sso-provider-for-another-site/312872/3 "2025-02-18T05:19:03Z")

</div>

我也有同样的想法，我将使用我的 discourse 实例作为我的 outline 私有部署的 SSO 提供商，它需要以下配置项：

 ![图片概述了支持 OIDC 兼容身份验证提供商的 OIDC 配置要求，详细说明了所需的环境变量：、、、 和 。（由 AI 生成标题）](https://global.discourse-cdn.com/meta/original/4X/5/7/3/573e3dfb456a744915bc4a8dc627ab84c7be2244.png)

我不知道如何实现这一点。我在另一篇 [Discourse Connect](https://meta.discourse.org/t/13045?silent=true) 帖子中偶然发现了 Discourse Auth Proxy，但没有关于其用法的详细文档。您是否找到了解决方案或可以指导我如何实现它？感谢您的帮助。

---

<div class="post-metadata">

### Author: ![Editor0732](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/editor0732/32/492698_2.png) [@Editor0732](https://meta.discourse.org/u/Editor0732)
#### Post date: [2025年四月3日 14:38 UTC](https://meta.discourse.org/t/using-discourse-auth-proxy-as-an-sso-provider-for-another-site/312872/4 "2025-04-03T14:38:55Z")

</div>

PROXY\_URL 应为 [https://mycustomsite.com/](https://mycustomsite.com/)  
LISTEN\_URL 为 0.0.0.0:80

尽管我的配置通过了 SSO，但我无法访问 [mycustomsite.com](http://mycustomsite.com)。页面不断刷新并重新请求 sso。
