AuthKitに独自の認証メソッドを実装しようとしていますが、組み込みメソッドのいくつかがどのように機能するかを理解しようとしています。REMOTE_USER
特に、をenviron
正しく更新する方法を見つけようとしています。
これは内部での処理方法ですauthkit.authenticate.basic
が、かなり混乱します。REMOTE_USER
とAUTH_TYPE
が定義されている場所が見つかりません。ここで何か奇妙なことが起こっていますか?もしそうなら、それは何ですか?
def __call__(self, environ, start_response):
environ['authkit.users'] = self.users
result = self.authenticate(environ)
if isinstance(result, str):
AUTH_TYPE.update(environ, 'basic')
REMOTE_USER.update(environ, result)
return self.application(environ, start_response)
実際、私が定義を見つけることができないこのようなすべての大文字のものがたくさんあります。たとえば、AUTHORIZATION
下からどこに来るのですか?
def authenticate(self, environ):
authorization = AUTHORIZATION(environ)
if not authorization:
return self.build_authentication()
(authmeth, auth) = authorization.split(' ',1)
if 'basic' != authmeth.lower():
return self.build_authentication()
auth = auth.strip().decode('base64')
username, password = auth.split(':',1)
if self.authfunc(environ, username, password):
return username
return self.build_authentication()
dictの特別な構文処理が欠落しているように感じますenviron
が、Pythonを初めて使用する人にはすぐにはわからない、本当に奇妙なことが起こっている可能性があります。