我有一个rails应用程序,它设计为身份验证后端。我正在学习在我正在开发的更大的应用程序中实现omniauth,我决定首先使用小应用程序检查它。所以,我的应用程序有一个用户模型。两个控制器(一个用于静态主页,另一个用于覆盖设计omniauth回调)
我可以用facebook登录,但我遇到了github登录的问题。 Github要求一次又一次注册。
以上是github repo的链接。
omniauth_callbacks_controller.rb
puts request.env['omniauth.auth'].to_yaml
--- !ruby/hash:OmniAuth::AuthHash
provider: github
uid: '366217'
info: !ruby/hash:OmniAuth::AuthHash::InfoHash
nickname: bishisht
email:
name: Bishisht Bhatta
image: https://avatars.githubusercontent.com/u/366217?v=3
urls: !ruby/hash:OmniAuth::AuthHash
GitHub: https://github.com/bishisht
Blog: http://bishisht.github.io/
credentials: !ruby/hash:OmniAuth::AuthHash
token: 012d594abc447bb4ce95c07244f946f206d425f7
expires: false
extra: !ruby/hash:OmniAuth::AuthHash
raw_info: !ruby/hash:OmniAuth::AuthHash
login: bishisht
id: 366217
avatar_url: https://avatars.githubusercontent.com/u/366217?v=3
gravatar_id: ''
url: https://api.github.com/users/bishisht
html_url: https://github.com/bishisht
followers_url: https://api.github.com/users/bishisht/followers
following_url: https://api.github.com/users/bishisht/following{/other_user}
gists_url: https://api.github.com/users/bishisht/gists{/gist_id}
starred_url: https://api.github.com/users/bishisht/starred{/owner}{/repo}
subscriptions_url: https://api.github.com/users/bishisht/subscriptions
organizations_url: https://api.github.com/users/bishisht/orgs
repos_url: https://api.github.com/users/bishisht/repos
events_url: https://api.github.com/users/bishisht/events{/privacy}
received_events_url: https://api.github.com/users/bishisht/received_events
type: User
site_admin: false
name: Bishisht Bhatta
company: Narmada Infosys
blog: http://bishisht.github.io/
location: Netizen
email: bishisht.np.mnr@gmail.com
hireable: true
bio:
public_repos: 59
public_gists: 4
followers: 21
following: 98
created_at: '2010-08-16T17:42:52Z'
updated_at: '2016-06-17T17:49:23Z'
private_gists: 0
total_private_repos: 0
owned_private_repos: 0
disk_usage: 167968
collaborators: 0
plan: !ruby/hash:OmniAuth::AuthHash
name: free
space: 976562499
collaborators: 0
private_repos: 0
all_emails: []
user.rb
def new
@projecttype = Projecttype.new
end
def create
@projecttype = Projecttype.create(projecttype_params)
redirect_to @projecttype
end
编辑: 回复
<%= form_for @projecttype do |f| %>