【ITニュース解説】OAuth2.0認証 アクセストークン取得
2025年09月03日に「Qiita」が公開したITニュース「OAuth2.0認証 アクセストークン取得」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
SharePoint REST API利用のため、OAuth 2.0認証でアクセストークンを取得する手順を解説。まずSharePoint Onlineでクライアントを登録(アドイン登録)。`{site collection url}/_layouts/15/AppRegNew.aspx`にアクセスし、必要な情報を入力することで、API利用に必要なクライアントIDなどを取得できる。
ITニュース解説
SharePoint REST APIを利用する際に必要なOAuth 2.0認証におけるアクセストークンの取得について解説する。これは、SharePointのデータに外部のアプリケーションから安全にアクセスするための仕組みだ。システムエンジニアを目指す初心者にも理解できるよう、具体的な手順と関連する概念をわかりやすく説明する。
まず、OAuth 2.0は、ユーザー名とパスワードを直接共有することなく、アプリケーションがユーザーの代わりにリソースにアクセスすることを許可する認証プロトコルだ。SharePointの場合、REST APIを通じてドキュメントやリストなどのデータにアクセスできるが、そのためにはOAuth 2.0を用いてアクセストークンを取得する必要がある。
アクセストークンを取得する最初のステップは、クライアントの登録、つまりSharePointにおけるアドインの登録だ。これを行うには、ブラウザで特定のURLにアクセスする。URLの形式は {site collection url}/_layouts/15/AppRegNew.aspx となる。{site collection url} は、アクセスしたいSharePointサイトのURLに置き換える必要がある。例えば、https://test.sharepoint.com/sites/devsite のようなURLになる。
このURLにアクセスすると、アドインを登録するためのページが表示される。このページでは、いくつかの情報を入力する必要がある。重要なのは、クライアントID、クライアントシークレット、タイトル、ドメイン、リダイレクトURIだ。
クライアントIDとクライアントシークレットは、アドインを一意に識別するための情報で、それぞれGUID(Globally Unique Identifier)形式の文字列だ。ページ上で「生成」ボタンをクリックすることで自動的に生成できる。クライアントIDはアドインを特定するために使用され、クライアントシークレットはアドインの認証情報を保護するために使用される。クライアントシークレットは、決して公開してはならない。
タイトルは、アドインの表示名だ。これは、ユーザーがアドインにアクセス許可を与える際に表示される名前になる。わかりやすい名前を設定すると良い。
ドメインは、アドインが動作するドメインを指定する。SharePoint Onlineの場合は、www.localhost.com のようなプレースホルダーを指定することが多い。これは、実際にアドインが特定のドメインで動作する必要があるわけではなく、SharePoint側で要求される形式を満たすためだ。
リダイレクトURIは、認証が完了した後にユーザーがリダイレクトされるURLだ。開発中は、https://www.localhost.com のようなURLを指定することが多い。本番環境では、実際にアプリケーションが動作するURLを指定する必要がある。
これらの情報を入力し、登録を完了すると、アドインがSharePointに登録される。登録されたアドインは、SharePointのデータにアクセスするための権限を持つ。
次に、登録したアドインにSharePointのデータにアクセスするためのアクセス許可を与える必要がある。これには、SharePointのサイトの設定画面からアドインのアクセス許可を管理するページにアクセスし、必要な権限を付与する。例えば、リストの読み取り権限や、ドキュメントの書き込み権限などを付与できる。
アクセス許可を付与した後、いよいよアクセストークンを取得する。アクセストークンを取得するには、OAuth 2.0の認可コード付与フローを使用する。このフローでは、まずユーザーをSharePointの認証エンドポイントにリダイレクトし、ユーザーにアドインへのアクセス許可を求める。ユーザーが許可すると、認可コードが発行され、リダイレクトURIに付加されてアプリケーションに返される。
次に、アプリケーションは、認可コードとクライアントID、クライアントシークレットを使って、トークンエンドポイントにリクエストを送信する。トークンエンドポイントは、認可コードをアクセストークンとリフレッシュトークンに交換する役割を担う。
トークンエンドポイントからのレスポンスには、アクセストークン、リフレッシュトークン、有効期限などが含まれている。アクセストークンは、SharePoint REST APIにアクセスする際に使用する認証情報だ。リフレッシュトークンは、アクセストークンの有効期限が切れた場合に、新しいアクセストークンを取得するために使用する。
アクセストークンを取得したら、SharePoint REST APIにアクセスできる。APIリクエストのAuthorizationヘッダーに、Bearer <アクセストークン> の形式でアクセストークンを設定することで、認証されたリクエストを送信できる。
このように、OAuth 2.0認証を用いてSharePoint REST APIにアクセスするには、アドインの登録、アクセス許可の付与、認可コードの取得、アクセストークンの取得という手順を踏む必要がある。これらの手順を理解することで、SharePointのデータを外部のアプリケーションから安全にアクセスできるようになる。