メインコンテンツへスキップ
Auth0 を使用すると、SharePoint Apps の認証プロセスを大幅に簡素化できます。Auth0 が、SharePoint API の呼び出しに使用できる の取得を行います。 特別なライブラリは必要ありません。Auth0 がサポートする任意の SDK を使用できます。

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

通常どおり、Auth0 で新しいアプリケーションを登録します: Applications > NEW。詳しい手順については、利用可能な SDK のいずれかを参照してください。次のステップで必要になるため、client_id を控えておいてください。

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

アプリケーションの を取得する必要があります。アプリケーションの登録方法は、想定される用途に応じていくつかあります。 SharePoint Add-ins を登録する (Microsoft Docs) では、SharePoint でアプリケーションを登録するさまざまな方法を説明しています。このチュートリアルでは、この手順で最も簡単な方法、つまり特定のテナント (ご自身のテナント) での自己登録を使用します。

SharePoint Online を開く

Dashboard の URL は https://{your Office365 tenant}.sharepoint.com/_layouts/15/appregnew.aspx です

クライアントIDとクライアントシークレットを生成します:

SharePoint - クライアントIDの生成 - クライアントシークレットの生成

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

Auth0 はアプリと Office 365 インフラストラクチャの仲介役となるため、アプリではこの URL を使用する必要があります。 アプリのドメイン: リダイレクトURI:
  • connection は、Auth0 の接続で使用する名前です (例: “sharepoint”) 。
  • client_id は、Auth0 でアプリを識別するためのものです (手順 1 で作成) 。
  • redirect_uri は、すべてのやり取りが完了した後に、ユーザーが最終的にリダイレクトされる実際のアプリ内の場所です。指定しない場合は、Auth0 で定義したアプリのコールバック URL が常に使用されます (localhost の場合もあります)

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

Visual Studio でアプリのマニフェスト情報を入力します。
SharePoint - Visual Studio - アプリケーション マニフェスト
Query string は、先ほど設定した Redirect URI と完全に同じになります。続いて、プロジェクトを右クリックして Publish を選択します。 Publishing Profile を作成します (SharePoint の Dashboard で取得した クライアントIDクライアントシークレット と同じ値を入力する必要があります) 。 Package をクリックし、生成されたファイルを SharePoint にアップロードします。

ステップ 3. Auth0 で接続を作成する

この統合の最後の手順は、Auth0 に SharePoint の接続を追加することです。 必要なものは次のとおりです。
  • Connection Name。任意の名前です。ステップ 2 で入力したものと一致している必要があります。
  • Client IdClient Secret。これらもステップ 2 で入力したものと一致している必要があります。
  • Test SharePoint Site Url。これは接続のテストに使用する SP サイトの URL です (Dashboard で「Try」ボタンを押した場合など) 。これは実行時には使用されません。ユーザーは常に SharePoint 内からサイトへのリンクをたどるためです。
ユーザーは Office Marketplace からアプリをインストールします。リンクをクリックすると Auth0 にリダイレクトされ、Auth0 がアクセストークンの取得を行い、最終的にアプリに転送します。アプリは次のような ユーザープロファイル を受け取ります。
Office Marketplace - Redirect -  User Profile Example
次のプロパティが含まれます: cacheKeyrefresh_tokenhostsite。これらにより、SharePoint API (リストなど) を呼び出せるようになります。