ruby-on-rails - OmniAuth::Strategies::OAuth2::CallbackError 发生
问题描述
我正在做一个 Rails 项目,但omniauth-linkedin-oauth2
不会工作!我有如下错误。
Authentication failure! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detected
应用程序/控制器/omniauth_controller.rb
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def facebook
@user = User.from_omniauth(request.env["omniauth.auth"].except("extra"))
if @user.persisted?
sign_in_and_redirect @user, event: :authentication
else
session["devise.user_attributes"] = @user.attributes
redirect_to new_user_registration_url
end
end
def linkedin
@user = User.from_omniauth(request.env["omniauth.auth"].except("extra"))
if @user.persisted?
sign_in_and_redirect @user, event: :authentication
else
session["devise.user_attributes"] = @user.attributes
redirect_to new_user_registration_url
end
end
end
配置/初始化程序/devise.rb
config.omniauth :linkedin,
Rails.application.credentials[Rails.env.to_sym][:linkedin][:client_id],
Rails.application.credentials[Rails.env.to_sym][:linkedin][:client_secret],
provider_ignores_state: true
解决方案
推荐阅读
- python - Python pandas 数据框 groupby 列错误没有应用成员
- c# - DYMO 标签打印导致“'MediaType' 属性未声明”。
- python - 从时间序列计算时变频率和相位角
- sql - 比较 2 个文本列并使用 sql 在第三个单元格中显示差异
- c++ - Double 到 uint64_t 的转换
- scrapy - 我可以使用 start_urls 来抓取 url 列表吗?
- java - java大脑教程JAX-RS错误设置
- r - R 生存包 - survreg 在使用大间隔时报告奇点
- intersection - Halcon - 加速路口
- c# - 如何将数据表转换成这样的csv格式