メインコンテンツへスキップ
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を使用する必要があります。 アプリドメイン : リダイレクトURI : [https://{yourDomain}/login/callback?SP_APP_TOKEN&connection=CONNECTION&client_id={yourClientId}&redirect_uri={https://yourApp/callback}](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(リストなど)をコールバックできます。
I