- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我编写了一个 oauth 提供程序,旨在与我公司的几个 Web 应用程序一起使用。我正在使用 doorkeeper gem,到目前为止效果很好。
典型的行为是用户转到客户端应用程序,被重定向到提供商以登录,确认客户端应用程序有权访问该用户的信息,然后被重定向回客户端应用程序。但是,我想跳过用户确认客户端应用程序的步骤。我想为他们做,所以没有提示。
我试图模仿代码 I found here像这样:
Doorkeeper::Application.all.each do |application|
auth_params = {response_type: 'code', client_id: application.uid, redirect_uri: application.redirect_uri}
client = Doorkeeper::OAuth::Client.find(application.uid)
authorization = Doorkeeper::OAuth::AuthorizationRequest.new(client, user, auth_params)
authorization.authorize
end
但这没有用,它仍然向用户提供客户端应用程序的授权/拒绝提示。有什么建议吗?
最佳答案
OAuth 有 Resource Owner Credentials Grant Doorkeeper 支持的流程。基本上,您使用用户凭据(用户名和密码)请求访问 token 。这样您就可以跳过用户确认,也不需要回调 URL。
配置门卫:
Doorkeeper.configure do
resource_owner_from_credentials do |routes|
User.authenticate!(params[:username], params[:password]) # change this if needed
end
end
示例 token 请求:
curl -i https://example.com/oauth/token \
-F grant_type=password \
-F client_id=<client_id> \
-F client_secret=<client_secret> \
-F username=user@example.com \
-F password=password
如果您的 OAuth 客户端应用程序是 Rails 应用程序,您可以使用 oauth2为此的 gem :
client = OAuth2::Client.new('client_id', 'client_secret', :site => "https://example.com")
access_token = client.password.get_token('user@example.com', 'password')
另见 Doorkeepers wiki:
https://github.com/applicake/doorkeeper/wiki/Using-Resource-Owner-Password-Credentials-flow
关于ruby - 如何在使用门卫的 oauth 提供商上为我的用户预授权客户端应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11129676/
在 http://localhost/tmp/我有一个要求用户和密码(身份验证)的表单。用户发帖后(点击确定)我想将用户重定向到 http://localhost/test/它使用 Apache 的
二维码如今是移动应用流量入口以及功能实现的重要工具,也是各App的流量入口,使用场景愈加丰富,广泛应用于支付、出行、餐饮、生活服务、智慧生活、零售及广告营销等主流场景。 然而,在实际生活中,扫码环境
我是一名优秀的程序员,十分优秀!