首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spotify Omniauth

Spotify Omniauth
EN

Stack Overflow用户
提问于 2015-10-07 04:40:37
回答 1查看 1.1K关注 0票数 2

我试图在rails 4中为spotify做OmniAuth。我几乎拥有它,但由于某种原因,重定向URI无法工作。我用的是无所不在的设计,这是我的档案。

User.rb

代码语言:javascript
运行
复制
class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable

  devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable,
  :omniauthable, :omniauth_providers => [:spotify]

  def self.from_omniauth(auth)
    where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
      user.provider = auth.provider
      user.uid = auth.uid
      user.email = auth.info.email
      user.password = Devise.friendly_token[0,20]
    end
  end
end

我的回调控制器来处理回调

代码语言:javascript
运行
复制
class CallbacksController <  Devise::OmniauthCallbacksController
  def spotify
    @user = User.from_omniauth(request.env["omniauth.auth"])
    sign_in_and_redirect @user
  end
end

我的Devise.rb片段:

代码语言:javascript
运行
复制
  config.omniauth :spotify, client_id, client_secret,scope: 'playlist-read-private user-read-private user-read-email'

我的Routes.rb

代码语言:javascript
运行
复制
Rails.application.routes.draw do
    devise_for :users, :controllers => { :omniauth_callbacks => 'callbacks' }
    get '/users/auth/callback', to: 'callbacks#spotify'
end

最后,指向登录的链接:

代码语言:javascript
运行
复制
<%= link_to 'Sign in with Spotify', user_omniauth_authorize_path(:spotify) %>

但出于某种原因,每当我尝试登录spotify时,它都会说无效的重定向URI

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-09 07:05:22

好吧,我想出了一个解决我的问题的方法:

  • 当它给出“无效重定向URI”错误时,我查看了它试图访问的URI,我只是使用了它。
  • 然后我得到了第二个错误,它给了我一个SSL证书错误,所以我使用了"gem认证“来修复这个错误。然后,它给了我第三个未经授权的访问问题(回调返回了一个失败的请求)。所发生的事情是,我试图使用OmniAuth两次。我有两份文件: ( A) OmniAuth.rb和B) Devise.rb

这两个文件都在进行API调用,而且都搞砸了。因此,对于任何有这个问题的人,不要同时使用杂耍和设计。老实说,在第一次打嗝之后,我发现设计比建立自己的用户模型和应用无所不在要有用得多。设计更全面!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32983926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档