web-dev-qa-db-ja.com

Django認証付きのSAML

DjangoとAWSでホストされているnginxを使用しています。idpを使用してSAML認証のために大学と統合しようとしています。SOには古い回答がたくさんありますが、何かありますか現在の標準との関連性が高いですか?

私が見たアプリの多くはDjango 1.2以下用です。具体的には、ミドルウェアなどを介してSAML認証をより簡単に管理できるリソースを探しています。

私が見たもののいくつかは次のとおりです。

https://github.com/unomena/Django-saml2-idp

https://github.com/WiserTogether/Django-saml2-sp

15
KVISH

私が見つけたプロジェクトは以下の通りです:

https://bitbucket.org/lgs/djangosaml2/overview

プロジェクトは、SAMLサポートにpsaml2を使用します。 Pysaml2はここで見つけることができます:

https://github.com/rohe/pysaml2

Djangosaml2は最新バージョンのpysaml2を使用しない場合があることに注意してください。私はそれとその動作をテストしました。

[〜#〜]更新[〜#〜]

djangosaml2は最新バージョンのpysaml2で動作しますが、動作させるには必ず次の行を追加してください。

SESSION_SERIALIZER = 'Django.contrib.sessions.serializers.PickleSerializer'

これはsettings.pyにあるはずです。

10
KVISH

SAMLには2つの側面があります。

  • IDP-> IDプロバイダー側​​->つまり大学
  • SP->サービスプロバイダー->つまりアプリケーション

これはあなたが望むもののように聞こえます: https://github.com/WiserTogether/Django-saml2-sp

標準としてのSAMLは複雑であることを考慮に入れる必要があるため、図書館が大学のSAML実装と通信する際に問題が発生する可能性があります。また、IDプロバイダー証明書の公開鍵を取得し、特定のエンティティIDを使用してアプリケーションを追加するように依頼する必要があります。そして、それらのいくつかを管理し始めると、それは複雑になります。

Auth のようなものをチェックして、これらすべてのSAML接続を処理することもできます。非常に単純なpythonサンプル https://Gist.github.com/woloski/8149412

4
woloski

こんにちは私はDjango saml2認証プラグインを作成しました。

https://github.com/fangli/Django-saml2-auth

SAML2プロバイダーとの統合は非常に簡単です。お楽しみください。

4
Felix