他カテゴリ

【ALIS】OAuth認証のサンプルコード(ZEIT Now,Node.js)

ゆうき's icon'
  • ゆうき
  • 2019/06/14 11:10
Content image

 

リンク:

アリスブログOAuth認証の説明まとめ > 当記事

 

◆ 【ALIS】OAuth認証のサンプルコード(ZEIT Now,Node.js)

Githubの方に置いてあります

(こちらのコードは、とある方から許可を頂いた上で、バックアップ用としてフォークを行っています)

 

READMEに書かれていることを一通りこなせば「ALISのOAuth認証の一連の流れ」をWebから確認することができます。

 

 

○ 留意事項

・筆者の「ゆうき」は「へっぽこハッカー」です。サーバーサイドの知識は全然ないので、説明に間違いがあるかもしれません。予めご了承下さい

 

 

○ 関連記事

・その1

 

・その2

 

 

○ 必要な環境等

「Node.js」が動かせるサーバー

・「npm」コマンドの知識

・「git」のインストール(任意)

 

 

○ READMEについて軽く説明

Read this article first. -> https://alisproject.github.io/oauth2/

ALISのOAuthに関する公式ドキュメントです。

一通り読んでおくことを推奨。

 

 

Create Now account => https://zeit.co/now

ALISのOAuth認証を行うにあたって、ここではサーバーレスの「ZEIT Now」を利用しています。

サーバーレスとは言うものの、「ZEIT Now」には「AWS何それ美味しいの?」といったへっぽこハッカーの私でも1時間以内に環境構築ができてしまうぐらいの簡単さがあります

 

レンタルサーバーで「Node.js」の環境構築を行うと、「ssh」とか「Linuxコマンド」とか「サーバーの仕様」とかにぶつかって厄介ですが、「ZEIT Now」は、あら簡単!

 CLIに「Now」と入れるだけでデプロイできます。驚きの便利さです。

(スーパーハッカーの億ラビットくんも称賛しております!)

 

ということで、「ZEIT Now」を使ったことがない方は、是非使ってみて下さい!

基本無料です

 

なお、Githubの認証とかで登録完了すると、メインのアドレスがメールアドレスの記号になってしまいますが、こちらは「ZEIT Nowのメインページ」→「設定」から変更可能です。

 

 

And install now command

$ git clone https://github.com/yuuki100/alis-oauth-sample.git

$ cd alis-oauth-sample

$ yarn

$ now secret add client-id "your-alis-client-id"

$ now secret add client-secret "your-alis-client-secret"

$ now secret add redirect-uri "your-alis-redirect-uri"

$ now secret add cook-key "your-cook-key"

続いて、ローカルにおけるCLIの操作。

(Windowsの場合はコマンドプロンプト)

 

「git clone」は「Github」に置かれているリポジトリを、ローカルにダウンロードするコマンドです。

(gitを入れていない方は「https://github.com/yuuki100/alis-oauth-sample」から直接ダウンロードして下さい)

 

「cd alis-oauth-sample」は「alis-oauth-sample」フォルダに移動ですね。

場合によっては「alis-oauth-sample」の置かれているパスが違ったりするので、「cd ○○」で「alis-oauth-sample」が置かれているフォルダに移動しましょう!

 

「yarn」は「package.json」に書かれている情報から「Node.js」関連のファイルをダウンロードするコマンド……だったような。

私は「npm i」で済ませてしまったので、あまり良くわかりませんが、とりあえず、その類のコマンドでローカルフォルダに「node_modules」を用意します。

 

「now secret」は「ZEIT Now」の環境変数の設定です。

「"your-alis-client-id"」「"your-alis-client-secret"」「"your-alis-redirect-uri"」の3つは、ALISの「登録中のアプリケーション」で「登録した後に表示されるもの」に変換。

「"your-cook-key"」は、そのままで問題ありません。

 

※ 「now secret」の「特定の変数」の上書きはできません(一例として「now secret add client-id "your-alis-client-id"」を2回入力するとエラーになります)。

誤った値を入れた場合は「now secret help」(もしくは「now help」)で削除コマンドを確認して、設定した変数を削除しましょう

 

 

Deploy

Edit "alias": "alis-oauth-sample.now.sh" inside the now.json file to your preferred URL before deploying it.

$ now .

ちょっとスキップして、一番下の説明。

「now.json」(nowの環境設定のファイル)内部の途中に書かれている

 "alias": "alis-oauth-test",

は、「ZEIT Now」に登録した「自身のURL」に修正しておきます。

 

この後に「now」を入力すると、ローカルフォルダに用意したものが「ZEIT Now」にデプロイされて、ALISのOAuth認証のサンプルコードの動く様子を「ZEIT Now」から確認することができます。

 

 

Local Development

$ mv .env.sample .env

$ vi .env # edit environment variables

$ now dev .

こちらはローカル環境からの実行方法。

「now」で毎回デプロイしていると、時間がかかったり、「月1000回」の制限に引っかかったりするので、サンプルソースの改造とかをしたい場合はローカル環境での実行をオススメします。

 

なお、ローカルで確認する場合は、「ALISのアプリケーションの登録」のリダイレクトURLに「http://localhost:3000/api/callback.js」を追加しておいて下さい。

また、ローカル環境では「now secret」が反映されていないので「.env」ファイルを「alis-oauth-sample」の中に作成する必要があります。

 

「.env」ファイルの中身(テキストエディタで編集)

# KEY=VALUE 形式 

CLIENT_ID="your-alis-client-id" 
CLIENT_SECRET="your-alis-client-secret" 
REDIRECT_URI="http://localhost:3000/api/callback.js" 
COOK_KEY="your-cook-key" 

(「"your-alis-client-id"」「"your-alis-client-secret"」は任意のものに変換)

 

この設定の後に「now dev」をすると「http://localhost:3000/」で同様の動作を確認できます。

 

 

以上です。

「他の環境」や「他の言語」で再構築すると、ミスしたときによくわからなくなってしまうことがあるので、(環境構築に自信がないなら)最初は「ZEIT Now」でお試ししてみるのが良いかもしれませんね。

(´∀`)

 

 

「OAuth認証の説明まとめ」に戻る

 

 

◆ 「ゆうき」のツイッター

 

 

 

 

 

Supporter profile iconSupporter profile iconSupporter profile iconSupporter profile iconSupporter profile icon
Article tip 5人がサポートしています
獲得ALIS: Article like 50.46 ALIS Article tip 138.90 ALIS
ゆうき's icon'
  • ゆうき
  • @yuuki

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
他カテゴリ

テレビ番組で登録商標が「言えない」のか考察してみる

Like token Tip token
26.20 ALIS
Eye catch
トラベル

無料案内所という職業

Like token Tip token
84.20 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
他カテゴリ

オランダ人が語る大麻大国のオランダ

Like token Tip token
46.20 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
他カテゴリ

警察官が一人で戦ったらどのくらいの強さなの?『柔道編』 【元警察官が本音で回答】

Like token Tip token
114.82 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
他カテゴリ

SASUKEオーディションに出た時の話

Like token Tip token
35.87 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
ゲーム

【初心者向け】Splinterlandsの遊び方【BCG】

Like token Tip token
6.32 ALIS