2011-06-15 51 views
0

我正在实施一种策略,以连接到使用oauth-plugin实现的OAuth提供程序。在“request_phase”功能,我写道:Omniauth:无法将策略中的“令牌”的response_type更改为

def request_phase 
    options[:response_type] = 'token 
    super 
end 

但在发送的HTTP请求时,它具有“...... & RESPONSE_TYPE =代码” 我跟着其他实施例以设置在request_phase RESPONSE_TYPE所证明,例如用SalesForce策略: https://github.com/quintonwall/omniauth-rails3-forcedotcom/wiki/Build-Mobile-Apps-in-the-Cloud-with-Omniauth,-Httparty-and-Force.com

请告知如何更改response_type。

感谢 拉米

回答

1

正如OAuth 2.0 documentation规定,"code"是授权码流的唯一有效的值:

response_type 
     REQUIRED. Value MUST be set to "code". 

那么你将不得不使用auth_code做了第二次请求令牌。您使用的提供商可能仅支持此方法。

使用token作为响应类型的流程是implicit grant流程,该流程具有相当不同的用例,您尝试使用的提供程序可能不支持该流程。