module Yao::Auth
Public Class Methods
build_auth_info(tenant_name, username, password)
click to toggle source
@param tenant_name [String] @param username [String] @param password [String] @return [Hash]
# File lib/yao/auth.rb, line 72 def build_auth_info(tenant_name, username, password) auth_info = { auth: { passwordCredentials: { username: username, password: password } } } auth_info[:auth][:tenantName] = tenant_name if tenant_name auth_info end
build_authv3_info(tenant_name, username, password, default_domain, user_domain_id, user_domain_name, project_domain_id, project_domain_name)
click to toggle source
@param tenant_name [String] @param username [String] @param password [String] @param default_domain [String] @param user_domain_id [String] @param user_domain_name [String] @param project_domain_id [String] @param project_domain_name [String] @return [Hash]
# File lib/yao/auth.rb, line 31 def build_authv3_info(tenant_name, username, password, default_domain, user_domain_id, user_domain_name, project_domain_id, project_domain_name) identity = { methods: ["password"], password: { user: { name: username, password: password } } } if user_domain_id identity[:password][:user][:domain] = { id: user_domain_id } elsif user_domain_name identity[:password][:user][:domain] = { name: user_domain_name } elsif default_domain identity[:password][:user][:domain] = { id: default_domain } end scope = { project: { name: tenant_name } } if project_domain_id scope[:project][:domain] = { id: project_domain_id } elsif project_domain_name scope[:project][:domain] = { name: project_domain_name } elsif default_domain scope[:project][:domain] = { id: default_domain } end { auth: { identity: identity, scope: scope } } end
new( tenant_name: Yao.config.tenant_name, username: Yao.config.username, password: Yao.config.password, identity_api_version: Yao.config.identity_api_version, default_domain: Yao.config.default_domain, user_domain_id: Yao.config.user_domain_id, user_domain_name: Yao.config.user_domain_name, project_domain_id: Yao.config.project_domain_id, project_domain_name: Yao.config.project_domain_name )
click to toggle source
if identity_api_version == “3” @return [TokenV3] else @return [Token]
# File lib/yao/auth.rb, line 89 def new( tenant_name: Yao.config.tenant_name, username: Yao.config.username, password: Yao.config.password, identity_api_version: Yao.config.identity_api_version, default_domain: Yao.config.default_domain, user_domain_id: Yao.config.user_domain_id, user_domain_name: Yao.config.user_domain_name, project_domain_id: Yao.config.project_domain_id, project_domain_name: Yao.config.project_domain_name ) if identity_api_version.to_i == 3 auth_info = build_authv3_info(tenant_name, username, password, default_domain, user_domain_id, user_domain_name, project_domain_id, project_domain_name) issue = TokenV3.issue(Yao.default_client.default, auth_info) else auth_info = build_auth_info(tenant_name, username, password) issue = Token.issue(Yao.default_client.default, auth_info) end issue end
try_new()
click to toggle source
@return [Yao::Auth]
# File lib/yao/auth.rb, line 16 def try_new if Yao.config.tenant_name && Yao.config.username && Yao.config.password && Yao.default_client Yao::Auth.new end end