GithubHelp home page GithubHelp logo

plusauth / ciba-playground Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 208 KB

OpenID Connect CIBA (Client-Initiated Backchannel Authentication Flow) playground application

License: MIT License

HTML 0.98% JavaScript 19.86% CSS 7.91% Vue 71.24%
openid ciba

ciba-playground's Introduction

CIBA Playground

demo

This is a demonstration of how OpenID CIBA works on a simple use case.

DISCLAIMER: This project is NOT production grade. To simplify demonstration, some functions handled at client side which SHOULD NOT be the same in real world applications.

Image below demonstrates the flow. To decrease complexity, error cases are excluded. ciba-poll-flow

Before you begin

Make sure you have configured/ensured your provider to have/is:

  • CIBA support (w/ Poll mode)
  • JWT for Client Authentication
  • Public IP/Address for your environment or an ngrok account.

Prerequisites

  1. Create a client in your provider with:

    • urn:openid:params:grant-type:ciba grant type
    • client_secret_jwt token endpoint auth method
  2. Configure your provider/auth service to trigger end-user device by making a POST request to <YOUR_PUBLIC_ADDRESS>:<SERVER_PORT>/prompt_end_user with body containing authRequest. Have a look at src/components/EndUser.vue:82

Usage

Clone repository and install dependencies with

npm install

Create your environment file .env containing values according to your setup. Have a look at .env.template file. Or you can set your values inside application, but they won't be stored.

Finally, execute run script

npm run start

Browse to application by given server configuration which defaults to http://localhost:8801

ciba-playground's People

Contributors

ayzagen avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.