LoginSignup
1
0

More than 5 years have passed since last update.

Auth0 + ColdFusion Web App Sample

Last updated at Posted at 2018-06-23

需要あるの?

あんまりない気がしますが…。Auth0公式にはColdFusionのサンプルなんかないし、せっかくなのでPHPサンプルソースを参考に同じような感じに仕上げてGitHubに公開しました。
https://github.com/namitan/cf_auth0_sample

こんなかんじ

login.cfm
<CFSET domain        = Application.AUTH0_DOMAIN>
<CFSET client_id     = Application.AUTH0_CLIENT_ID>
<CFSET client_secret = Application.AUTH0_CLIENT_SECRET>
<CFSET redirect_uri  = Application.AUTH0_CALLBACK_URL>
<CFSET audience      = Application.AUTH0_AUDIENCE>

<CFIF audience eq "">
  <CFSET audience = "https://#domain#/userinfo">
</CFIF>

<CFSET auth0 = createObject("component", "Auth0").init({
  'domain' : domain,
  'client_id' : client_id,
  'client_secret' : client_secret,
  'redirect_uri' : redirect_uri,
  'audience' : audience,
  'scope' : 'openid profile',
  'persist_id_token' : true,
  'persist_access_token' : true,
  'persist_refresh_token' : true
})>

<CFSET auth0.login()>

PHPのサンプルに似た感じで呼び出すように作ってあります。API叩いたりとかはAuth0.cfcにまとめてあります。PHPのAuth0 SDKは中身見てないので、全然違うことしてるかもしれませんが…。

クライアントIDとかはApplication.cfcに定義がありますので書き換えて使ってください。

Application.cfc
<CFFUNCTION name="onApplicationStart">
    <CFSET Application.AUTH0_CLIENT_ID     = "your client id">
    <CFSET Application.AUTH0_DOMAIN        = "yourdomain.auth0.com">
    <CFSET Application.AUTH0_CLIENT_SECRET = "your client secret">
    <CFSET Application.AUTH0_CALLBACK_URL  = "http://127.0.0.1:8500/">
    <CFSET Application.AUTH0_AUDIENCE      = "">
</CFFUNCTION>

いきさつ

ちょっとしたアプリを思いついたので放置気味のVPSで動かしてみようかなと思ったんですが、やっぱり認証は入れなきゃだよなあと調べてみたらAuth0がなんだかサクッといい感じにできそうだということで挑戦してみたのでした。

認証については実装してみてなんとなく概要はわかったかなというところ。これからもう少し学びたいです。

関係ないけど、CFMLのシンタックスハイライトがないのでこれまでhtmlを使ってましたが、試しにphpを使ってみたらすっきりしていてこっちのが見やすい。。。

追記

Luceeでも動作確認しましたので、タグ追加しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0