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}