identity-toolkit-ruby-clientRuby 上的 Google Identity Toolkit 客户端

联合创作 · 2023-09-28 15:31

identity-toolkit-ruby-client 是 Ruby 上的 Google Identity Toolkit 客户端的开发包。

示例:

require 'gitkit_client'

# Create a server config file or download it from Google Developer Console
# The config file contains Gitkit library config in json format
# {
#   "clientId" : "oauth2-web-client-id.apps.googleusercontent.com",
#   "serviceAccountEmail" : "service-account-email@developer.gserviceaccount.com",
#   "serviceAccountPrivateKeyFile" : "path-to-service-account-private-key-file.p12",
#   "widgetUrl" : "full-url-of-gitkit-widget-on-your-site",
#   "cookieName" : "gtoken",
#   "serverKey" : "devconsole-server-key"
# }

# Create a Gitkit client
gitkit_client = GitkitLib::GitkitClient.create_from_config_file 'gitkit-server-config.json'

# Verify the Gitkit token in the incoming http request
token = request.cookies["gtoken"]
user = gitkit_client.verify_gitkit_token token

# Upload passwords
def calc_sha1(key, plain_text, salt)
  hmac = OpenSSL::HMAC.new key, 'sha1'
  hmac << plain_text
  hmac << salt
  hmac.digest
end

hash_key = 'hash-key'

user1 = GitkitLib::GitkitUser.new
user1.email = '1234@example.com'
user1.user_id = '1234'
user1.salt = 'salt-1'
user1.password_hash = calc_sha1(hash_key, '1111', 'salt-1')

user2 = GitkitLib::GitkitUser.new
user2.email = '5678@example.com'
user2.user_id = '5678'
user2.salt = 'salt-2'
user2.password_hash = calc_sha1(hash_key, '5555', 'salt-2')
user2.name = '56 78'

gitkit_client.upload_users 'HMAC_SHA1', hash_key, [user1, user2]

# Get user by email
user = gitkit_client.get_user_by_email('1234@example.com')

# Get user by id
user = gitkit_client.get_user_by_id('5678')

# Delete a user
gitkit_client.delete_user '5678'

# Download all accounts
gitkit_client.get_all_users(2) { |account| pp account}
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报