プロバイダーがホストするアプリをSharePoint Onlineに接続

Auth0を使用すると、SharePointアプリの認証プロセスを大幅に簡素化できます。Auth0は、SharePoint APIを呼び出すために使用できるアクセストークンをネゴシエートします。

特別なライブラリは必要ありません。Auth0でサポートされているSDKのいずれかを使用できます。

1.Auth0にアプリケーションを登録する

通常どおり、Auth0に新しいアプリケーションを登録するだけです。[Applications(アプリケーション)] > [NEW(新規)]。詳細なステップについては、利用可能なSDKのいずれかを選択してください。次のステップで必要になるので、client_idを手元に置いてください。

2.アプリケーションのパッケージを作成する

アプリケーションのクライアントIDクライアントシークレットを取得する必要があります。想定される使用方法に応じて、アプリケーションを登録する方法は多数あります。

SharePointアドインの登録(Microsoft Docs)では、SharePointにアプリケーションを登録するさまざまな方法について説明しています。このチュートリアルステップでは、最も単純な形式、つまり特定のテナント(自分のテナント)での自己登録を使用します。

SharePoint Onlineを開く

ダッシュボードのURLはhttps://{your Office365 tenant}.sharepoint.com/_layouts/15/appregnew.aspxです。

Client_IdおよびClientSecretを生成します。

SharePoint - generate client id - generate client secret

フォームに情報を入力します。

Auth0はアプリとOffice 365インフラストラクチャの間にあるため、アプリにはこのURLを使用する必要があります。

アプリドメイン:

{yourDomain}

リダイレクトURI:

https://{yourDomain}/login/callback?SP_APP_TOKEN&connection=CONNECTION&client_id={yourClientId}&redirect_uri={https://yourApp/callback}

  • connectionは、Auth0の接続で使用する名前です(「sharepoint」など)。

  • client_idは、Auth0でアプリを識別します(ステップ1で作成)。

  • redirect_uriは、すべてのネゴシエーションが完了した後にユーザーが最終的にアクセスする実際のアプリ内の場所です。指定しない場合は、常にAuth0で定義されたアプリのコールバックURLになります(localhostの場合もあります)

アプリをパッケージ化してSharePointにアップロードします。

Visual Studioでアプリマニフェストの情報を入力します:

SharePoint - Visual Studio - Application Manifest

Query文字列は、前に入力したリダイレクトURIとまったく同じになることに注意してください。次に、プロジェクトを右クリックして[Publish(発行)]を選択します。

Publishing Profile(発行プロファイル)を作成します(SharePointダッシュボードで取得した同じクライアントIDクライアントシークレットを入力する必要があります)。

[Package(パッケージ)]をクリックし、結果のファイルをSharePointにアップロードします。

3.Auth0で接続を作成する

統合の最後のステップは、Auth0でSharePoint接続を追加することです。

次のものが必要です。

  • Connection Name(接続名)。これは任意の名前です。ステップ2で入力したものと一致する必要があります。

  • クライアントIDおよびクライアントシークレット。ステップ2で入力したものと一致する必要があります。

  • テスト用SharePointサイトURL。これは、接続をテストするために使用されるSPサイトURLです。(ダッシュボードの[試す]ボタンを押したときなど)。ユーザーは常にSharePoint内からサイトへのリンクをたどるため、実行時には使用されません。

ユーザーはOffice Marketplaceからアプリをインストールします。リンクをクリックするとAuth0にリダイレクトされ、Auth0がアクセストークンをネゴシエートして、最終的にアプリにリダイレクトされます。アプリは次のようなユーザープロファイルを受け取ります。

Office Marketplace - Redirect -  User Profile Example

次のプロパティが含まれます。cacheKeyrefresh_tokenhost、およびsite。これらにより、SharePoint API(リストなど)をコールバックできます。