プロバイダーがホストするアプリを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を生成します。

フォームに情報を入力します。
Auth0はアプリとOffice 365インフラストラクチャの間にあるため、アプリにはこのURLを使用する必要があります。
アプリドメイン:
{yourDomain}
リダイレクトURI:
connection
は、Auth0の接続で使用する名前です(「sharepoint」など)。client_id
は、Auth0でアプリを識別します(ステップ1で作成)。redirect_uri
は、すべてのネゴシエーションが完了した後にユーザーが最終的にアクセスする実際のアプリ内の場所です。指定しない場合は、常にAuth0で定義されたアプリのコールバックURLになります(localhostの場合もあります)
アプリをパッケージ化してSharePointにアップロードします。
Visual Studioでアプリマニフェストの情報を入力します:

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がアクセストークンをネゴシエートして、最終的にアプリにリダイレクトされます。アプリは次のようなユーザープロファイル
を受け取ります。

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