2

D2L を使い始めたばかりで、問題が発生しています。

「はじめに」ページで、最初の 3 つの手順を完了しました。

1) D2L からアプリ キー/ID ペアを取得する - アプリ ID とアプリ キーを受け取りました

2) ホスト LMS でテスト アカウントを作成します - テスト用に管理者ロールを持つ新しいユーザー アカウントを作成しました

3) 使用するクライアント ライブラリを選択します - PHP SDK を使用しています

4) LMS で認証する - ここで問題が発生します。


Getting Started サンプルを使用する場合: http://samples.valence.desire2learn.com/samples/GettingStartedSample/

ホスト、アプリ ID、アプリ キーを入力して [認証] ボタンをクリックすると、「このアプリケーションはこの LMS インスタンスでは承認されていません。管理者にこのアプリケーションを承認するよう依頼してください」というエラーが表示されます。

私は自分の D2L ホストの管理者ですが、自分のアプリを承認する方法がわかりません。

私は次のことを試しました:

  • 「拡張機能の管理」ページに移動します。これは、D2L がアプリを配置する必要があると言っているのに、そこにないためです。
  • 「DOME」ページで API (d2l.Security.Api.EnableApi) を有効にしても無駄です。

私は何を間違っていますか?

4

1 に答える 1

0

あなたの質問とコメントに基づいて、ここには 2 つの問題がありました。

  • 1 つ目は、LMS に適したアプリ ID/キー ペアのリストが、LMS によって D2L KeyTool サービスから定期的に取得されることです。このフェッチのスケジュールは 1 日 1 回です。したがって、スケジュールされたタスクが設定されていない場合、または LMS が KeyTool サービスに対して適切に識別されていない場合、またはタスクの次のスケジュールされた実行へのキー付与後まだ時間が経過していない場合、アプリは優先されます。 「LMS のManage Extensibilityリストにまだ入っていません。もうその問題はないようです。

  • 2 つ目は、Valence Learning Framework API の認証プロセス (LMS ユーザーの一連のユーザー トークンを要求および取得する) では、いくつかの LMS 機能を適切にセットアップする必要があることです。(a) LMS はディープ リンクをサポートするように構成する必要があります。 )?target=着信クライアント URL 要求のパラメーターを処理し、ユーザー認証プロセス全体でそのパラメーターを管理するように LMS をセットアップする必要があります。

    LMS がユーザー認証を行っておらず、別のサードパーティ IDP (Shibboleth など) に依存している場合?target=、ログイン プロセスに渡されたパラメーターは IDP によって処理され、ユーザー認証後に LMS に適切に返される必要があります。 . ユーザー認証中に複数のリダイレクトが発生する状況では、これにはtargetパラメーターの連続生成が含まれる可能性があり、各生成では以前の要求 URL 全体を再 URL エンコードする必要があります (別のエンベロープの内側にエンベロープを貼り付け、さらに別のエンベロープの内側に貼り付けるなど)。封筒)。

LMS がこれらの 2 つの点をサポートするように適切に構成されていない場合、他の操作では気付かないかもしれませんが、呼び出し元のクライアントが一連のユーザーを取得できないため、Learning Framework API へのクライアント呼び出しは機能しません。トークン。

これらの問題の 2 番目を解決するには、D2L のカスタマー サポート デスクに連絡する必要がある場合があります。このデスクでは、この認証チェーンの LMS 構成部分を検証し、必要に応じて調整できます。LMS を、D2L によって管理または展開されていない他のサードパーティの IDP コンポーネントと統合する場合は、それらの構成も調整する必要がある場合がありますtarget。ただし、その場合、構成を調整することはできません。

于 2013-06-03T13:36:59.073 に答える