very simple implementation of tri-party (Browser - RP - IDP) OIDC login
https://oidc-for-spa.glitch.me/
- Setup OIDC (ex. Google Login)
- open .env.sample, edit settings and SAVE AS .env
- open console and type following commands
$ npm install
$ node app.js
- open browser and goto http://localhost:3030
Kosuke Koiwai (https://github.com/kkoiwai)
OpenID Connectの仕組みを使って、Single Page Application (SPA) っぽくログインするデモです。 HTMLそのものは1つのみ、かつすべて静的に生成されており、アプリサーバとajaxで通信してログイン処理を行います。 OIDCはinplicitやhybrindフローではなく、codeフローとなっており、リダイレクトで受信した認可コードも、サーバではなくブラウザ側で取得してからajaxでサーバに送信する作りとしています。 そのため、HTMLの動きを参考にすることで、ネイティブアプリも同様に実装できます。
ただし、あくまでOIDCの動作デモとして作成しているため、エラー処理が完全ではないこと、仕様の完全準拠や安全性を保証するものではありません。
詳細はQiitaをご参照ください。 (https://qiita.com/kkoiwai/items/3e1205bf60b11c8d9649)