2

パートナーに公開したいセキュリティで保護された Web アプリケーションがあり、パートナーのクライアントは、アプリケーションでホストされているフォームに直接情報を取り込むことができます。

フォームは、パートナーの Web アプリケーションに埋め込まれた iframe に表示されます。iframe の URL は私のアプリケーションを指し、パートナーが iframe をレンダリングする前にパートナーに発行した何らかの形式のセッション トークンが含まれます。

アプリにユーザーの資格情報を保存したくありません。必要なのは、ユーザーがパートナーによって認証され、ホストしているアクションを実行する権限があることをパートナーと検証するメカニズムだけです。

私は SAML と oAuth を見てきましたが、ID プロバイダーが実装するにはどちらも非常に複雑に思えます。複雑さのほとんどを自分で実装し、パートナーに統合の簡単な手段を提供したいと考えています。

つまり、重要なのは、ID プロバイダーにとってシンプルなソリューションを見つけることです。

例:

パートナーは、定義済みのエンドポイントを介してセッション トークンを要求します (ユーザーが実行する必要があるアクション、ユーザーのユーザー名または ID、および応答を検証するためのクライアント トークンを指定します)。

https://myapp.com/getsession/?username=bob&action=action1&token=CLIENT_SESSION_TOKEN

SERVICE_SESSION_TOKEN を返します。

パートナーは、次の URL を含む iframe をアプリに埋め込みます。

https://myapp.com/action1/?username=bob&token=SERVICE_SESSION_TOKEN

トークンを検証し、action1 を実行する権限を持つユーザーの認証済みセッションを作成します。

action1 のフォームを返すと、iframe にレンダリングされます。

ユーザーがフォームを送信すると、iframe をリダイレクトすることでパートナーに通知できます。

https://partner.com/action1_callback/?username=bob&token=CLIENT_SESSION_TOKEN&result=RESULT

そのようなプロトコルをサポートする標準はありますか? oAuth と SAML により、ID のプロビジョニングが非常に複雑になります。

4

1 に答える 1