digilocker-tools / ts-sdk

TypeScript SDK for Digilocker
MIT License
0 stars 2 forks source link

Documentation #14

Open ChakshuGautam opened 1 year ago

ChakshuGautam commented 1 year ago

Workflow

sequenceDiagram
    autonumber
    User/Browser->>+ App: Open Login Page
    critical Through SDK
    App->>+Backend: Generate Session
    Backend->>-App: Session Token
    App->>App: Store session
    App->>+Meri Pehchan: Request Login Page
    end
    Meri Pehchan->>-User/Browser: Return Login Page
    User/Browser->>+Meri Pehchan: Login Credentials
    Meri Pehchan->>-User/Browser: Redirect with Authorization Code
    User/Browser->>+App: Open Redirect URL (Authorization Code)
    critical Through SDK
    App->>+Backend: Login (Authorization Code)
    Backend->>+Meri Pehchan: Request Access Token and ID Token and Refresh Token
    Meri Pehchan->>-Backend: Return Access Token, ID Token, Refresh Token
    Backend->>Backend: Persist tokens in Session
    Backend->>App: Show Logged In (Updated Tokens)
    App->>App: Update Session Token
    end
    App->>User/Browser: Open Login Page

The sections inside the dotted lines are to be done through this SDK. The SDK can be used both on the backend and frontend to manage the same instance of the user on both fronts allowing for seamless login and subsequent document pulling flows.