Discourse 的用户信息中的 IP 地址显示的是 CloudFlare 的 IP 地址
Posted huyuchengus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Discourse 的用户信息中的 IP 地址显示的是 CloudFlare 的 IP 地址相关的知识,希望对你有一定的参考价值。
因为使用了 CloudFlare 的反向地址。
所有 Discourse 获得的用户的 IP 地址其实是 CloudFlare 的服务器地址。
修改
好在 Discourse 已经提供了相关的解决方案。
需要在 Discourse 的配置文件中,添加下面的内容:
- “templates/cloudflare.template.yml”
然后重新 Build 你的 Discourse 的安装实例。
./launcher rebuild app
使用上面的命令就可以对 Discourse 直接进行重构了,需要注意的是重构需要 10 分钟左右,这 10 分钟系统是无法访问的。
如何使用 Discourse 和 Auth0 执行 SSO?
【中文标题】如何使用 Discourse 和 Auth0 执行 SSO?【英文标题】:How to perform SSO using Discourse and Auth0? 【发布时间】:2018-02-27 03:21:25 【问题描述】:我正在尝试使用 Auth0 为 wordPress 和我自己的应用程序中的话语执行 SSO。下面提到了流程。
Image added here (low on rep) so cant post
用户在应用程序中输入用户名和密码,详细信息被发送到服务器,服务器使用 auth0 API 对用户进行身份验证并发回令牌。
我已经在 Discourse 中安装了来自 GitHub 的 auth0 SSO 插件 2,并且所有客户端 ID、客户端密码都添加到了插件中。
当我登录到我的应用程序时,我想知道在 Discourse 的情况下由谁执行 SSO。
对于 WordPress 使用的是以下方法。
<form *ngIf="userService.isAuthenticated()" ngNoForm action="http://xx.xx.xx.xx/index.php?auth0=implicit&client_id=xxxxxxxxxxxxxxxxxxxxxxxxx&connection=xxxxxxxxxx"
method="post">
<input class="hidden" type="text" id="token" name="token" value="tokenValueIsHereReturnedbyAuth0Authentication" />
<input class="hidden" type="text" id="redirect_to" name="redirect_to" value="http://xx.xx.xx.xx/index.html" />
<input class="btn btn-primary pull-right" type="submit" value="View" />
</form>
那么如何在话语中做类似的事情呢?
我已经尝试了以下
-
https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045?u=deanmarktaylor
但是我无法完成,因为我不知道是什么
https://somesite.com/sso?sso=PAYLOAD&sig=SIG
PAYLOAD 和 SIG 是
更新:
我认为的有效载荷:Auth0 给我的 access_token 是有效载荷,它被编码为Base64
(使用:base64encode dot org),而 SIG 是有效载荷的 HMAC-SHA256 哈希,使用 sso_secret 作为密钥和 Base64编码的有效载荷
(freeformatter dot com slash hmac-generator)
【问题讨论】:
【参考方案1】:请查看我的博客文章,了解如何使用 Auth0 与 Discourse 集成无缝 SSO。
您基本上需要设置一个新的Auth0 Rule,它使用已开发的支持 Discourse 方式签署请求的库。使用您的客户端 ID 和客户端密码,复制并粘贴该规则的代码,并带来更好的方式来处理 SSO,而无需使用任何额外的插件。很好很容易:)
https://medium.com/leog-s-blog/discourse-sso-with-auth0-e49486d0294a
【讨论】:
以上是关于Discourse 的用户信息中的 IP 地址显示的是 CloudFlare 的 IP 地址的主要内容,如果未能解决你的问题,请参考以下文章