#NEWLINE# @ content #NEWLINE# def POST( self ) : #NEWLINE# #INDENT# data = self . checked_data ( ) #NEWLINE# try : #NEWLINE# #INDENT# if ( 'passwordCredentials' in data [ 'auth' ] ) : #NEWLINE# #INDENT# if ( not validate_password_credentials ( ** data [ 'auth' ] [ 'passwordCredentials' ] ) ) : #NEWLINE# #INDENT# raise self . http ( 401 ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if ( 'token' in data [ 'auth' ] ) : #NEWLINE# #INDENT# if ( not validate_token ( data [ 'auth' ] [ 'token' ] [ 'id' ] ) ) : #NEWLINE# #INDENT# raise self . http ( 401 ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# raise self . http ( 400 ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# except ( KeyError , TypeError ) : #NEWLINE# #INDENT# raise self . http ( 400 ) #NEWLINE# #UNINDENT# token = generate_token ( ) #NEWLINE# return { #NEWLINE# #INDENT# 'access' : { #NEWLINE# #INDENT# 'token' : { #NEWLINE# #INDENT# 'issued_at' : '2012-07-10T13:37:58.708765' , #NEWLINE# 'expires' : '2012-07-10T14:37:58Z' , #NEWLINE# 'id' : data , #NEWLINE# 'tenant' : { #NEWLINE# #INDENT# 'description' : None , #NEWLINE# 'enabled' : True , #NEWLINE# 'id' : '12345' , #NEWLINE# 'name' : 'admin' , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } , #NEWLINE# 'serviceCatalog' : [ ] , #NEWLINE# 'user' : { #NEWLINE# #INDENT# 'username' : 'admin' , #NEWLINE# 'roles_links' : [ ] , #NEWLINE# 'id' : '9876' , #NEWLINE# 'roles' : [ { #NEWLINE# #INDENT# 'name' : 'admin' , #NEWLINE# #UNINDENT# } ] , #NEWLINE# 'name' : 'admin' , #NEWLINE# #UNINDENT# } , #NEWLINE# 'metadata' : { #NEWLINE# #INDENT# 'is_admin' : 0 , #NEWLINE# 'roles' : [ '4567' ] , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# }