0

ホストされているバージョン 1インスタンスからデータをプルする必要がある Web プロジェクトがあります。versionone インスタンスはSAML、シングル サインオンに認証を使用します。シングル サインオン自体は、認証にユーザー名と PIN + ワンタイム パスワードを使用するため、これらの値をアプリケーションにハードコードすることはほぼ不可能です。

この状況を処理する方法はありますか? シングル サインオン プロセスをバイパスするために、要求のヘッダーに何かを設定できますか?

4

1 に答える 1

1

リリース 13.1 の時点で、VersionOneAPI エンドポイントに対する認証のために OAuth2 をサポートしています。Webサーバー フロー (ホストされたインスタンスが待機中の HTTP サーバーに認証トークンを POST する) とアウト オブ バンドフロー (ホストされたインスタンスがクライアントにコピー/貼り付けするコードをユーザーに提供する) の両方がサポートされています。

SAML プロセスは、Web ブラウザーとユーザーが存在しないと完了するのが難しいため、要件により適している可能性があります。

アプリによって OAuth2 資格情報が取得されると、ユーザーの介入なしで操作できます。ユーザーはいつでも、VersionOne 内でアプリのアクセス許可を取り消すことができます。

OAuth2 の場合、プロセスは次のとおりです。

  1. アプリを VersionOne に登録して、クライアント シークレットを作成します。

  2. 登録からのクライアント シークレット データを使用してアプリを構成する

  3. アプリにアクセス許可の付与を要求させると、VersionOne サーバーに送信されます。

  4. アプリを動作させたいユーザーとしてサーバーにログインし、許可を受け入れます。

  5. 帯域外フローを使用している場合は、許可コードをアプリにコピーして戻します。

  6. アプリは VersionOne インスタンスに接続し、コードを永続トークンと交換します。

  7. アプリはトークンを「Authorization: Bearer」HTTP ヘッダーとして適用して、VersionOne エンドポイントへのアクセスを実現できます。

  8. トークンの有効期限が切れていて、リクエストが Unauthorized を返した場合、クライアントはユーザーの介入なしにトークンを更新して再試行することができます。

VersionOne コミュニティ サイトには、いくつかのドキュメントが用意されています。

また、 VersionOne OAuth2 Examples リポジトリ内のいくつかの (進行中の) サンプル

アプリのサーバーで実行できる(ベータ版) HTTP プロキシもあり、OAuth2 と SSL でラップした後、リクエストを VersionOne インスタンスに転送します。

于 2013-06-12T18:37:24.210 に答える