- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试将 Rack OAuth-2 server 集成到我的 sinatra 应用程序中,以便在 web-server flow implementation 中使用它,但我无法使其工作:(。我在 oauth Controller 中使用了以下代码
require "rack/oauth2/sinatra"
module RestKit
module Network
class OAuth2 < Sinatra::Base
use Rack::Logger
set :sessions, true
set :show_exceptions, true
ENV["DB"] = "test"
DATABASE = Mongo::Connection.new[ENV["DB"]]
register Rack::OAuth2::Sinatra
oauth.authenticator = lambda do |username, password|
"Batman" if username == "cowbell" && password == "more" end
oauth.host = "localhost"
oauth.database = DATABASE
# 3. Obtaining End-User Authorization
before "/oauth/*" do
halt oauth.deny! if oauth.scope.include?("time-travel") # Only Superman can do that
end
get "/oauth/authorize" do
"client: #{oauth.client.display_name}\nscope: #{oauth.scope.join(", ")}\nauthorization: #{oauth.authorization}"
end
post "/oauth/grant" do
oauth.grant! "Batman"
end
post "/oauth/deny" do
oauth.deny!
end
# 5. Accessing a Protected Resource
before { @user = oauth.identity if oauth.authenticated? }
oauth_required "/user"
get "/user" do
@user
end
get "/list_tokens" do
oauth.list_access_tokens("Batman").map(&:token).join(" ")
end
end
end
end
然后我尝试使用 curl 从终端获取授权码:
curl -i http://localhost:4567/oauth/authorize -F response_type=code -F client_id=[the ID] -F client_secret=[the secret] -F redirect_uri=http://localhost:4567/oauth/showcode
只是我得到了回应:
HTTP/1.1 400 Bad Request
内容类型:文本/纯文本内容长度:20连接:保持事件状态服务器:thin 1.2.11代号Bat-Shit Crazy
缺少重定向 URL
你知道我做错了什么吗?谢谢!
最佳答案
您的 curl 请求的结尾是:
-F redirect_uri=http://localhost:4567/oauth/showcode
但是你还没有在上面的代码中定义那个路由,即 where is:
get "/oauth/showcode" do
?这就是错误是“缺少重定向 URL”的原因。
关于ruby - 机架 OAuth-2 服务器中的 Web 服务器流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6933137/
Kafka引入了rack-id,以便在整个机架发生故障时提供冗余功能。有一个最小同步副本设置,用于指定生产者收到确认之前需要同步的最小副本数量(-1/所有配置)。有一个不干净的领导者选举设置,用于指定
Kafka引入了rack-id,以便在整个机架发生故障时提供冗余功能。有一个最小同步副本设置,用于指定生产者收到确认之前需要同步的最小副本数量(-1/所有配置)。有一个不干净的领导者选举设置,用于指定
我正在尝试使用 Sinatra、Ruby、rack、haml、pony 和 SendGrid 构建一个应用程序,并使用 git 和 RVM 部署在 Heroku 上。该应用程序是一个博客变体,应该发送
我正在尝试将 Rack OAuth-2 server 集成到我的 sinatra 应用程序中,以便在 web-server flow implementation 中使用它,但我无法使其工作:(。我在
我按照这些说明为 Rails 3.07 安装了 rack ssl:http://www.simonecarletti.com/blog/2011/05/configuring-rails-3-http
我在我的 Rails 3.1 应用程序中使用 Rack::SSL 来启用 SSL 连接。 我已将 gem 'rack-ssl' 添加到我的 Gemfile 和 require 'rack/ssl' c
当我尝试将未分配的辅助分片分配给节点时出现错误。 { "error": { "root_cause": [ { "type": "remote_transpor
我是一名优秀的程序员,十分优秀!