Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. def create
  2. if params[:provider].present?
  3. @user = User.find_or_create_from_auth(request.env['omniauth.auth'])
  4. if @user
  5. session[:user_id] = @user.id
  6. flash[:notice] = "Logged in as #{@user.name}"
  7. redirect_to dashboard_path
  8. end
  9.  
  10. def self.find_or_create_from_auth(auth)
  11. find_or_create_by!(provider: auth.provider, uid: auth.uid, password_digest: 'N/A') do |user|
  12. user.provider = auth.provider
  13. user.uid = auth.uid
  14. user.name = auth.info.name
  15. user.email = auth.info.email
  16. user.address = "123 ABC St"
  17. user.password = 'n/a'
  18. user.oauth_token = auth.credentials.token
  19. user.oauth_expires_at = Time.at(auth.credentials.expires_at)
  20. user.save
  21. end
  22. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement