本文整理汇总了Python中auth.Auth.get_token方法的典型用法代码示例。如果您正苦于以下问题:Python Auth.get_token方法的具体用法?Python Auth.get_token怎么用?Python Auth.get_token使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类auth.Auth
的用法示例。
在下文中一共展示了Auth.get_token方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: RestServer
# 需要导入模块: from auth import Auth [as 别名]
# 或者: from auth.Auth import get_token [as 别名]
#.........这里部分代码省略.........
req_uri_prefix_list=[]
for user in request:
req_uri_prefix_list+=map(lambda x:x[RestServer.URI_PREFIX],user[RestServer.WEB_INFO])
for uri_prefix,web_url,port in self.proxy_mgr.list_proxy():
if not uri_prefix in req_uri_prefix_list:
self.log.info("uri_prefix:%s not in add proxy config request. del it."
%(uri_prefix))
proxy_del_list.append(uri_prefix)
for node in proxy_del_list:
self.nginx_mgr.del_proxy(node)
def _sanity_check_user(self,request):
user_set=self.user_mgr.collect_user()
req_user_set=set(map(lambda x: x[RestServer.USER_NAME],request))
del_user_set=user_set-req_user_set
for user in del_user_set:
self.user_mgr.del_user(user)
self.token_mgr.del_token(user)
def _sanity_check(self,request):
self._sanity_check_proxy(request)
self._sanity_check_user(request)
def _add_proxy_config_user(self,request):
for req in request:
self.user_mgr.add_user(req[RestServer.USER_NAME],
map(lambda arg: arg[RestServer.URI_PREFIX],
req[RestServer.WEB_INFO]))
def _sync(self):
self.log.info("sync_proxy_config %s"%request.json)
if not request.json or not isinstance(request.json,list):
return jsonify({RestServer.ERROR:HTTP_BAD_REQUEST_STR}),HTTP_BAD_REQUEST
self._add_proxy_config_user(request.json)
result,http_code=self._add_proxy_config_nginx(request.json)
self._sanity_check(request.json)
return result,http_code
def _add_proxy_config_nginx(self,request):
result=[]
for user in request:
for entry in user[RestServer.WEB_INFO]:
public_url=self.nginx_mgr.add_proxy(entry[RestServer.URI_PREFIX],
entry[RestServer.WEB_URL])
item={RestServer.URI_PREFIX:entry[RestServer.URI_PREFIX],
RestServer.RESULT:'error',
RestServer.PUBLIC_URL:None}
if public_url:
item[RestServer.RESULT]="ok"
item[RestServer.PUBLIC_URL]=public_url
result.append(copy.deepcopy(item))
return jsonify({RestServer.URL:result}),HTTP_OK
def _add_token(self):
if not request.json:
return jsonify({"error":HTTP_BAD_REQUEST_STR}),HTTP_BAD_REQUEST
username=request.json[RestServer.USER_NAME]
token_id=self.token_mgr.find_token_id(username)
if not token_id:
self.log.info("username %s find token failed, request keystone"%(username))
token=self.auth.get_token(username,request.json[RestServer.PASSWORD])
if not token:
self.log.error("request token from keystone failed.")
return jsonify({RestServer.RESULT:HTTP_UNAUTHORIZED_STR}),HTTP_UNAUTHORIZED
self.token_mgr.add_token(username,token)
token_id=MD5.get(token)
return jsonify({RestServer.TOKEN:token_id}),HTTP_OK
def _del_proxy_config(self,uri_prefix):
self.log.debug("del_proxy_config uri_prefix %s"%uri_prefix)
self.nginx_mgr.del_proxy(uri_prefix)
self.user_mgr.del_user_uri_prefix(uri_prefix)
return jsonify({RestServer.RESULT:'ok'}),HTTP_OK
def run_server(self):
self.log.info('rest server run at %s:%d%s'%(self.conf.rest_server_address,
self.conf.rest_server_port,
self.conf.url_prefix))
self.app.run(self.conf.rest_server_address,
self.conf.rest_server_port,
True)