1

APPID と APPKEY および特定のユーザーで認証された場合 (プロンプトが表示されたときに、ユーザーのユーザー名とパスワードが入力され、認証されていることを意味します)、システムが USERID と USERKEY を返信した場合。次に、そのユーザーを D2L に認証するための API 呼び出しを行って、ユーザーが D2L MY HOME ページに到達できるようにできますか?

それに加えて...特定のユーザーのUSERIDとUSERKEYがDBに保存されている場合、そのデータのみを使用して、API呼び出しを使用してユーザーをD2Lに認証し、ユーザーが追加なしでMY HOMEページに到達できるようにすることはできますか?ログインプロンプト?

USERID と USERKEY の有効期限が切れている場合、これが機能しないことを理解しています。

4

1 に答える 1

3

この質問にはいくつかの異なる問題があります。

ユーザーのアクティブな Web セッション。現在、D2L の Valence プラットフォームのユーザー認証はこの方法では機能しません。LMS は、ユーザーとのアクティブなセッションがあることを確認できる場合にのみ、認証プロセスの一部として UserID/Key ペアを返します。

  1. API 呼び出しクライアントは、ユーザーの UserID/Key ペアを取得するために LMS に直接リクエストを行います。

  2. を。LMS がユーザーとのアクティブなセッションを持っている場合、(必要に応じて生成し、) そのアプリケーション/ユーザー ペアのユーザー ID/キー ペアを返します。

    b. LMS がユーザーとのアクティブなセッションを持っていない場合は、ユーザーを認証するように構成されているログイン プロセスを実行します。これは、呼び出し元の Web 要求を LMS 自身のユーザー ログイン ページにリダイレクトするか、またはそのリダイレクトが通過する可能性があります。 LMS がユーザーの認証に使用するサードパーティ サービス (構成済みの SSO IDP など)。

これが意味すること: API を使用して認証プロセスを開始し、UserID/Key ペアを取得する場合、呼び出し元の Web ブラウザーは (そのプロセスの一部として) LMS とのアクティブな Web セッションを既に持っています。ユーザーは、LMS がそのために使用する認証プロセスを使用してログインするように求められる、ユーザーが既にログインしており、呼び出し元のブラウザーはそれを認識します (アクティブなセッションを示す Cookie 状態があるため)。

プログラムによるログイン。現在、D2L の Valence プラットフォームは、ユーザー認証プロセスへの直接参加をサポートしていませ。ユーザー ID/パスワード、またはユーザーと LMS の間で共有されるその他の秘密を提供することによって、LMS でユーザーを認証するための呼び出しはありません。Valence セキュリティ モデルは、API を呼び出すクライアントが、ユーザーと LMS の間で共有される認証シークレットを認識しないようにすることを特に目指しています。

Valence Learning Framework API を使用するクライアントは、次のいずれかを行う必要があります。

  • LMS から UserID/Key ペアを要求して認証プロセスを開始します (この場合、LMS はユーザーを認証しようとします。前の回答を参照してください)。

  • LMS から既に収集されているキャッシュされた状態から有効な UserID/Key ペアを使用して、ユーザー コンテキストを再構築します (これには、実際のユーザーが LMS で認証する必要があります)。

ユーザー ID/キー ペアの有効期限。LMS によって呼び出し側クライアントに提供されるこれらの認証トークンは、長期間有効であることを意図していることに注意してください。それらは、ブラウザーがユーザーに対して保持する現在の Web セッションよりも長持ちする必要があります。したがって、クライアント アプリケーションは、特にクライアント アプリケーション自身の ID/キー ペアと組み合わせて、それらを安全なデータとして扱う必要があります (ユーザー ID/キー ペアはアプリ独自の ID/キー ペアにバインドされるため)。クライアント アプリケーションがこれらの認証トークンをキャッシュすることを期待していますが、機密情報としてキャッシュされることも期待しています。

アプリケーション用に生成されたユーザーの ID/キー ペアは、次のいずれかのイベントが発生すると期限切れになります。

  • LMS が生成した ID/キー ペアに関連付けられた有効期限の到着 (LMS 管理者は、これらのトークンのデフォルトの有効期限値が「無期限」であることを確認できます)

  • ユーザーのパスワードが変更された (ユーザーまたは LMS 管理者がパスワードをリセットしたことによる)

  • LMS 管理者がユーザーのクライアント アプリ アクセスを手動で取り消す

于 2013-02-19T14:35:31.903 に答える