JanRain : python-openid : リクエストの受付処理

リクエストの受付

  • Serverオブジェクト(openid.server.server.Server)を生成(s)。引数にストア(openid.store.interface.OpenIDStore)とエンドポイントURL(str)を渡す。
  • リクエストパラメータをdictに変換する。
  • 変換したdictをs.decodeRequest()でデコードする。
  • デコードすると、openid.server.server.OpenIDRequestのサブクラスが返るのでそれを見て処理を決めて、それに応じたレスポンスを返します。

 

Serverオブジェクト生成

  • self.store に指定されたストアを保持
  • self.signatory にsignatoryClass(デフォルトでSignatory)を生成して保持(引数にself.store)
  • self.encoderにencoderClass(デフォルトでSigningEncoder)を生成して保持(引数にself.signatory)
  • self.decoderにdecoderClass(デフォルトでDecoder)を生成して保持(引数にself)
  • self.negotiatorに openid.association.default_negotiatorをコピーして保持。
  • self.endpont に指定されたendpointを保持。

dict形式のリクエストパラメータのデコード。

  • Serverオブジェクトがコンストラクタでセットしたself.decoder.decode(query_dict)に処理を丸投げ。
  • self.decoder.decodeは openid.server.server.OpenIDRequest を返す。実際はそのサブクラスのどれか。
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中