真のシングルサインオンは大きなタスクです。ウィキペディアでは、一般的な方法といくつかのSSOプロジェクトへのリンクについて説明しています。
もっと軽いものが必要な場合は、過去にこのアプローチを使用しました。
- すべてのアプリがアクセスできる場所に一時的なセキュリティトークンを保存するテーブルを作成します。
- ソースアプリ(この場合はSharepoint)から、外部アプリの要求に応じて、トークンテーブルにセキュリティトークン(GUID、厳密な有効期限、ユーザーIDなど)を保存します。
- 宛先アプリのリクエストブローカーページ/ハンドラーにリダイレクトします。リクエストされた最終ページとGUIDをリクエストに含めます。
- ブローカーで、セキュリティトークンを検索します。存在し、有効期限が切れていない場合は、認証、承認、およびすべてが正常であれば最終ページにリダイレクトします。そうでない場合は、権限エラーを送信します。
セキュリティ面では、GUIDを推測することはほぼ不可能です。トークンを非常に早く期限切れにすることでリスクを減らすことができます-ブローカーに電話するのに数秒以上かかることはありません。
移行先アプリがWindowsAuthを使用していて、役割ベースのロジックがない場合は、それほど多くのことを行う必要はありません。リダイレクトして、File/UrlAuthorizationに処理させてください。必要に応じて、セキュリティトークンdbを使用してロールベースのアクセス許可を処理できます。