小编Tec*_*noh的帖子

使用Steam连接Steam的OpenId OmniAuth gem会出现"invalid_credentials"错误

我正在尝试使用omn​​iauth-steam gem通过Steam连接用户并检索用户的ID64.我正在使用本地网络上的服务器运行Ruby on Rails 5.0.1,运行Apache和Passenger.每当我尝试连接到/ auth/steam时,我都会被"连接"按钮重定向到Steam网页(我已经登录).当我单击按钮时,我会收到一个错误页面,其中包含"invalid_credentials"消息.我登录Steam并可以毫无问题地浏览网站.那条消息来自哪里?我怎样才能解决这个问题?到目前为止,这是我的代码.

Omniauth初始化程序:

# config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :steam, Rails.application.secrets.steam_web_api_key
end
Run Code Online (Sandbox Code Playgroud)

控制器:

skip_before_filter :verify_authenticity_token, :only => :auth_callback

def index
end

def auth_callback
    auth = request.env['omniauth.auth']
    session[:current_user] = {
        :nickname => auth.info['nickname'],
        :image => auth.info['image'],
        :uid => auth.uid
    }
    redirect_to root_url
end
Run Code Online (Sandbox Code Playgroud)

查看:

<p><%= link_to image_tag("http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_large_noborder.png"), '/auth/steam' %></p>
Run Code Online (Sandbox Code Playgroud)

路线:

get 'admin/index'
post 'auth/steam/callback' => 'admin#auth_callback'

root 'admin#index'
Run Code Online (Sandbox Code Playgroud)

错误堆栈:

invalid_credentials

Extracted source (around line #25):
23    def raise_out!
24      fail(env['omniauth.error'] || …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails omniauth steam-web-api steam ruby-on-rails-5

5
推荐指数
1
解决办法
314
查看次数

如何在命令行上查看git的可用合并工具列表?

我在运行命令行的虚拟机Ubuntu服务器上使用git,我不知道vim(坦白说我现在不想学习它)所以我不想使用vimdiff.如何获取git的可用合并工具列表?

可以从命令行使用的合并工具列表的奖励点,这些合并工具没有太多陡峭的学习曲线!

linux git mergetool

3
推荐指数
2
解决办法
4568
查看次数

Rails 简单模型属性未保存到数据库

我正在开发一个从 Steam API 读取数据的小型 Rails 3 应用程序。我所看到的是,我创建的任何 ActiveRecord 模型的模型属性都不会保存到数据库中,也不会输出debug

这是我的示例模型

class NonPlayableApp < ActiveRecord::Base
  attr_accessor :name, :steam_id
  attr_accessible :name, :steam_id
end
Run Code Online (Sandbox Code Playgroud)

迁移文件为:

class CreateNonPlayableApps < ActiveRecord::Migration
  def change
    create_table :non_playable_apps do |t|
      t.string :name
      t.string :steam_id
      t.timestamps
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

下面是一些使用 Rails 控制台的测试,当我在控制器和/inspectyaml模型中尝试它们时,我得到了相同的结果:

irb(main):001:0> temp = NonPlayableApp.new( steam_id: 33333, name: "Testing" )
=> #<NonPlayableApp id: nil, name: nil, steam_id: nil, created_at: nil, updated_at: nil>
irb(main):002:0> temp.steam_id
=> 33333
irb(main):003:0> temp.name
=> "Testing"
irb(main):004:0> temp.save …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3

3
推荐指数
1
解决办法
2481
查看次数