Shibboleth 経由でユーザーを認証するブラウザー拡張機能を作成しようとしています。すべてのタブ/ウィンドウで動作するように、Shibboleth セッションを拡張機能に取り込む方法を考えています。Shib についてはオンラインであまり見たことがありません。私の質問はこれに似ていますが、認証は別のタブで発生する可能性があります (または、拡張ウィンドウで発生する必要がありますか??)。
これらの2 つのSOの質問は、一般的な拡張機能に関するいくつかの有用なガイダンスと、セキュリティ/ログイン ( FirefoxおよびChromeの場合) を処理するためのヒントを示しています。ただし、どちらも組み込みライブラリ (OAuth や Firefox Login Manager など) を使用して参照し、ユーザーはユーザー名とパスワードを拡張機能に直接提示します。私は Shibboleth を使用しているため、ユースケースが異なるようで、プロセスの処理方法がわかりません。私の最初の考えは次のとおりです。
- ユーザーが拡張機能の [サインイン] ボタンをクリックします。
- ユーザーは、拡張機能ではなく、フル ウィンドウのログイン ページにリダイレクトされます ( eBayやDiigoブラウザー拡張機能など) 。
- ユーザーは Shibboleth 資格情報を使用してログインします。
- サーバー側のDjangoアプリは何かを行います...セッションCookieを設定しますが、これは拡張機能にアクセスできますか? 私のテストでは、これは機能していないようです (つまり、同じタブ内で認証したとしても、私のアプリはサーバーに対してまだ認証されていません)。
- 拡張機能はセッション cookie を探し、見つかった場合はユーザーを認証済みとして扱います。??
- 拡張機能は、ブックマークレット ツール (Diigo など) のようなものであると想定されています。「安全なセッション」は、ユーザーが開いた任意のタブ/ウィンドウに拡張できますか? 私の理解ではノーですが (ドメイン固有であるため)、拡張機能 (eBay や Diigo など) はサイト間でどのように機能しますか?
私の質問のより広い言い方は次のようになります: eBay や Diigo のような拡張機能はユーザー セッションをどのように処理しますか? どちらも、ブラウザ固有の拡張機能ライブラリを使用する代わりに、ログインするために「フル ウィンドウ」のログイン ページに移動しますが、拡張機能はすべてのタブで機能します...
また、このプロセスは Safari / Firefox / Chrome に簡単に移植できますか?
ありがとう!