Giter Site home page Giter Site logo

solon-aguiar / oauth-reference-integration Goto Github PK

View Code? Open in Web Editor NEW

This project forked from checkr/oauth-reference-integration

0.0 1.0 0.0 20.65 MB

Open source Checkr integration

License: Apache License 2.0

Shell 0.84% JavaScript 97.04% CSS 1.18% HTML 0.95%

oauth-reference-integration's Introduction

Reference Integration

Build status

This is a sample application demonstrating an end to end Checkr integration. It outlines best practices and patterns we see Checkr integrations adopt, and will help you develop a Checkr certified integration. It focuses on two use-cases:

You can refer to this application if you are building either one or both use-cases.


Demo


Contents

Use case: Connecting customers

With Checkr OAuth, your customers can easily connect their Checkr account with your product. It gives your product the ability to make API calls on behalf of your customers. This described in more detail in our partner guide.

Checklist

  • Signing up for a new Checkr account, or connecting an existing account.
  • Waiting for account credentialing.
  • Disconnecting a customer account from a partner.

Application components

Component Responsibility Code walkthrough
oauth.js Handles OAuth and Webhooks walkthrough
CheckrConnectLink.js Link to connect account with Checkr walkthrough
sequenceDiagram
  autonumber

    Note right of App Frontend: CheckrConnectLink pressed
    Note right of Partner customer signup flow: Checkr Account created

    App Frontend->>+Partner customer signup flow: Navigate to Checkr Sign-Up Flow URL
    Partner customer signup flow->>+oauth.js: Navigate to redirect URL
    oauth.js->>+Checkr: Request OAuth Access token
    Checkr->>+oauth.js: Respond with OAuth Access token
    oauth.js->>+App Database: Persist and encrypt OAuth Access token in App Database
    oauth.js->>+App Frontend: Redirect to App Frontend

    Note right of App Frontend: Account is waiting credentialing
    Checkr->>+oauth.js: Send account.credentialed webhook
    oauth.js->>+App Database: Update Checkr account state
    Note right of App Frontend: Account is credentialed

    App Frontend->>+Checkr: POST /oauth/deauthorize
    Checkr->>+oauth.js: HTTP 200
    Note right of Checkr: Token has been deauthorized
    oauth.js->>+App Frontend: HTTP 204
    Checkr->>+oauth.js: Send token.deauthorized webhook
    oauth.js->>+App Database: Delete access token from database
    Note right of App Frontend: Account is disconnected

Loading

Use case: Using Embeds to order background checks

Embeds provide Javascript and React components to quickly build an experience to order background checks and view results. Read more about it here.

Checklist

  • Acquiring session tokens from Checkr to authenticate embeds.

Application components

Component Responsibility Code walkthrough Diagram
embeds-session-tokens.js Handles requesting a Session token from Checkr walkthrough diagram

Live sandbox

An instance of this application is hosted at checkr-oauth-integration.herokuapp.com. It is connected to a demo staging Checkr account which does not run real background checks.

You can also deploy this using your own Heroku account, and connect it to your Checkr account.

Deploy

Technical Documentation

Running it locally

View the development page to run this project locally.

Got feedback?

Open an issue in this repository to ask a question or give us feedback.

oauth-reference-integration's People

Contributors

rosatolen avatar akshay-8d66 avatar chrischan226 avatar kbabakhanzoda avatar

Watchers

James Cloos 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.