ruby-on-rails - 使用适用于 Ruby 的 Google Auth 库登录用户

标签 ruby-on-rails ruby authentication google-api google-signin

我想用 google-auth-library-ruby 登录用户 gem 。

在他们的指南“服务器端应用程序的 Google 登录”中,他们有 a good code example如何交换 ID token 的授权代码,但它仅适用于 Python(和 Java):

credentials = client.credentials_from_clientsecrets_and_code(
CLIENT_SECRET_FILE,
['https://www.googleapis.com/auth/drive.appdata', 'profile', 'email'],
auth_code)

有人知道 Ruby 的等价物吗?

附言。我熟悉 omniauth gem,但如果可能,我想使用 google-auth-library-ruby gem。

最佳答案

经过一些研究,我找到了this collection of samples ,其中使用了 googleauth gem。给你:

client_id = Google::Auth::ClientId.new("your Google client ID", "your Google secret")
scope = ["email","profile"] 
token_store = nil # there are actually already implemented File or Redis token stores
callback_url = "http://localhost:8000"

authorizer = Google::Auth::UserAuthorizer.new(client_id, scope, token_store, callback_url)

credentials = authorizer.get_credentials_from_code(code: "the auth code in the Sign In response")

关于ruby-on-rails - 使用适用于 Ruby 的 Google Auth 库登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47519849/

相关文章:

azure - Blazor 使用 Azure AD 身份验证允许匿名访问

ruby-on-rails - 在另一个 Controller 的显示操作中将多步表单向导的第一步呈现为部分

ruby-on-rails - 如何将救援 block 移动到方法

ruby-on-rails - 为什么 Chrome 在使用 POW 时渲染 Rails 页面这么慢?

ruby - 只有当电子表格打开文件时 URI 必须是 ascii?

java - Spring MVC 3.0 基本认证实现

ruby-on-rails - Rails 默认只大写第一个单词的第一个字母,而不是我输入的字符串

ruby - 你能在 Ruby 的核心模块类中添加一个类方法吗?

Ruby - 根据允许的字符验证用户输入

.net - ASP.NET 从 NTLM 身份验证表单获取用户名和密码