请教大神们,有没有人使用 homeland 实现 qq、微信登录注册的呢?感觉 homeland 只有 github 登录少了一些呀!另外,我今天刚安装好 homeland 了,发现我注册的账户居然无法进入后台,晕死!
这个我知道,我已经指定了管理员邮箱了嘛。 不知道是不是这里! 另外我用 github 账户登陆,邮箱地址自动变成为这个
而我 github 的账户实际是 [email protected],而且我修改后保存也无效!不知道是不是 bug?
修改 管理员邮箱的地址是在 homeland/config/config.yml 的
auto_locale: false
admin_emails: >
[email protected]
google_analytics_key: ""
对是这个,地址,然后你重启后就可以进入到后台中了。
关于你的 github 邮箱错误的问题,check 一下你的 github token 是否正确。因为在未获取到 github 邮箱的情况下,会给一个默认的邮箱。
"#{provider}+#{uid}@example.com"
app/controllers/auth/omniauth_callbacks_controller.rb
def new_from_provider_data(provider, uid, data)
User.new do |user|
user.email =
if data["email"].present? && !User.where(email: data["email"]).exists?
data["email"]
else
"#{provider}+#{uid}@example.com"
end
user.name = data["name"]
user.login = Homeland::Username.sanitize(data["nickname"])
if provider == "github"
user.github = data["nickname"]
end
if user.login.blank?
user.login = "u#{Time.now.to_i}"
end
if User.where(login: user.login).exists?
user.login = "#{user.github}-github" # TODO: possibly duplicated user login here. What should we do?
end
user.password = Devise.friendly_token[0, 20]
user.location = data["location"]
user.tagline = data["description"]
end
end
我是修改 app.local.env 文件的,修改 config.yml 有什么区别吗?我根据 gethomeland 官网的教程说是用 docker 方式安装的只需要修改 config.yml 即可!说是修改 config.yml 文件是普通方式安装的!我尝试过普通方式安装,那个 ruby 环境太难搞了,不知道有没有详细安装教程呢?
话说 homeland 程序确实强大哦!
大神,再请教个问题,docker 方式安装 homeland 貌似无法修改源代码,那么在后台有没有地方可以修改 html+css 的呢?
这个你是没办法直接修改 html css 直接生效的。你用 docker 直接安装的时候,
然后会请求这个地址 https://github.com/ruby-china/homeland-docker/blob/master/docker-compose.yml
然后其中有一句是
container_name: 'homeland_web'
image: homeland/homeland:3.0.9
直接读取的是封装好的代码,你要修改的话,要重新自己打包封装 image. 没十分确定 @huacnlee
这个是本地安装的教程,可以去看看。 https://github.com/rails-engine/homeland
难点: (1)ruby 需要是 2.4 以上的 (2)依赖要安装好。 (3)使用 gem 来安装,一步一步解决,应该没问题的。。
@bernardlai 请问你说的去年的版本具体是那个版本,是 homeland 说的这个 https://gethomeland.com/docs/sso/as-client/吗?还是有单独的代码分支。
之前集成过一个第三方 SDK,叫 ShareSDK,他们那边做的登陆平台是蛮多的,共 40 多个,常见的主流平台,一些国外的都支持的,如果有兴趣的话可以去看看,还不错!