ColdFusionで用意されているcfoauthタグを使用するとOAuth2.0認証を使用することができます。type="facebook"とtype="google"についてはデフォルトのパラメーターが用意されていますが、それ以外のOAuth2.0の認可サーバーへの認証も行うことができます。cfoauthタグに用意されている属性については、下記をご確認ください。
cfoauthタグは、認可サーバーからアクセストークンを取得するためのタグです。認可サーバーにアクセスして、ユーザーの認証を通して①認可コードと②(認可コードとシークレットをもとに)アクセストークンを受け取ることを目的としています。
<cfoauth
clientid = "認可サーバーでアプリケーションを登録した際に発行されるID"
scope="今回の認証で要求する権限(アクセス可能な範囲)"
result = "アクセストークンを含む結果を受け取る変数"
redirecturi = "認可サーバーからの応答を受け取る遷移先URL"
authendpoint = "認可サーバーに認可コードを要求するためのURL"
accesstokenendpoint = "認可サーバーに認可コードを渡してアクセストークンを要求するためのURL"
secretkey="アプリケーションで指定するシークレット"
>
指定する属性の値は、利用するOAuthの認可サーバーが公開している情報や一般ユーザーの情報を参考にしてください
Microsoft ID プラットフォームと OAuth 2.0 認証コード フロー - Microsoft Entra | Microsoft Docs
Microsoft Graph の認証と承認の基本方法 - Microsoft Graph | Microsoft Docs
cfoauthを使用する上での注意点をいくつかご紹介します
アクセストークンを受け取った後は、ColdFusionサーバーから対象のWeb APIに対してアクセスを行い、データを受け取る処理を行います。ColdFusionのcfhttpタグを使用します。例えば、前述のMicrosoft Graph の認証と承認の基本方法のページには、「Microsoft Graph を呼び出す場合は、アクセス トークンをベララー トークンとして HTTP 要求の Authorization ヘッダーに添付します」と書かれています。これをプログラムにすると以下のようになります。
<cfhttp method="get" url="https://graph.microsoft.com/v1.0/me/
<cfhttpparam type="header" name="Authorization" value="Bearer #アクセストークン#" >
</cfhttp>
上記が実行されると、#myResult.FileContent#
記事公開日:2022年06月16日
最終更新日:2022年06月16日
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.
Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.