最近写了个github帐户登录Demo:
https://github.com/yankforce/devise_omniauth_github
演示项目地址:
http://devise-github.herokuapp.com
BASIC版本,只是github omniauth,可以参考这个
https://github.com/bay6/omniauth-github-example
demo:
http://github-ominiauth.herokuapp.com
主要遇到问题:
No route matches “/users/sign_out” devise rails 3
<div id="user_nav">
<% if user_signed_in? %>
Signed in as <%= current_user.email %>. This cannot be cheese?
<%= link_to 'Sign out', destroy_user_session_path %>
<% else %>
<%= link_to 'Register', new_user_registration_path %> or <%= link_to 'Sign in', new_user_session_path %>
<% end %>
</div>
忘了delete方法
<%= link_to "Sign out", destroy_user_session_path, :method => :delete %>
重写登录成功,退出路径hook
def after_sign_in_path_for(resource)
current_user_path
end
def after_sign_out_path_for(resource_or_scope)
request.referrer
end
devise默认call back地址
http://yourdomain.users/auth/github/callback
问题三
Undefined method omniauth_authorize_path
The fix, or at least the one that worked for me:
replace:
omniauth_authorize_path(resource_name, provider)
with
user_omniauth_authorize_path(provider)
解决办法:
#删除config/initializers/omniauth.rb
#添加到config/initializers/devise.rb
config.omniauth :github, CONFIG[:facebook_key], CONFIG[:facebook_secret]
总的来说devise的omniauth不能用omniauth的传统配置
https://github.com/plataformatec/devise/wiki/OmniAuth%3A-Overview
不是
https://github.com/intridea/omniauth
分享到:
相关推荐
使用Mysql和Mongo、Devise、CanCan、OmniAuth和TwitterBootst
使用RubyonRails、Devise和Omniauth登录Twitter的教程_Ruby
使用devise+omniauth进行谷歌身份验证_Ruby_JavaScript_
使用Devise和Omniauth进行单点登录 我们想解决这些问题: 单个用户管理器应用程序(将对所有具有不同角色的用户进行身份验证) 与用户管理器进行身份验证的不同内部应用程序 用户应该能够通过Twitter和Facebook等...
Devise-Omniauth-Multiple-Providers:设计多个Omniauth Providers
这是一个示例应用程序,是使用omni github auth设计Rails 6中的auth的基本模板。 建立 Ruby on Rails Webpack引导 Github OAuth 开始使用 要求 Ruby 2.6 导轨6 工头宝石 克隆 git clone ...
使用Devise的Noodall用户登录和管理_Ruby_下载
This book is for web developers who are getting started with Rails and are looking for authentication solutions, as well as for Rails developers who are looking to extend their implementation of ...
Devise - 一个基于Warden的Rails灵活身份验证解决方案
Omniauth实验室目标识别Omniauth中的“策略” 将开发人员策略与Omniauth结合使用使用Omniauth通过第三方API在Rails服务器中提供OAuth身份验证介绍在本实验中,我们将配置Rails应用程序以请求第三方进行身份验证。...
Omniauth实验室目标识别Omniauth中的“策略” 将开发人员策略与Omniauth结合使用使用Omniauth通过第三方API在Rails服务器中提供OAuth身份验证介绍在本实验中,我们将配置Rails应用程序以请求第三方进行身份验证。...
将开发人员策略与Omniauth结合使用 使用Omniauth通过第三方API在Rails服务器中提供OAuth身份验证 介绍 在本实验中,我们将配置Rails应用程序以请求第三方进行身份验证。 典型的第三方身份验证器是Twitter,Facebook...
安装添加到您的Gemfile : gem "omniauth-microsoft-live" , :github => "9peso/omniauth-microsoft-live" 然后运行bundle install 。获取应用密钥和秘密转到“ ” 选择(或创建)您的项目。 按照“编辑设置” 按照...
自述文件该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列,缓存服务器,搜索引擎等) 部署说明...
并且,添加到您的config / initializers / devise.rb config . omniauth :linkus , ENV [ 'LINKUS_APP_ID' ] , ENV [ 'LINKUS_APP_SECRET' ] , client_options : { site : ENV [ 'LINKUS_URL' ] , authorize_url : ...
Devise是一种基于Railard的通用身份验证框架Warden的灵活身份验证解决方案。 它是基于Rails引擎的完整MVC解决方案,可让您同时登录多个模型。 它由10个模块组成:1.身份验证模块,负责登录时的密码哈希和验证用户的...
Custom-PHP-Devise的灵感来自RailsDevise。这为登录和注
该项目用于学习使用Devise gem实现身份验证和其他登录功能。 该项目分为代表不同练习,实验和教程的分支,这些分支是本次学习的一部分。
使用devise_openid_authenticatable的devise_example版本_Ruby_