Skip to content

cuzic4n/forgerock-javascript-sdk

 
 

Repository files navigation

npm (scoped)

Logo

ForgeRock SDK for JavaScript

Change Log · Support · Docs


The ForgeRock JavaScript SDK enables you to quickly integrate the ForgeRock Identity Platform into your client-side JavaScript apps.

Use the SDKs to leverage Intelligent Authentication in ForgeRock's Access Management (AM) product, to easily step through each stage of an authentication tree by using callbacks.

Requirements

  • ForgeRock Identity Platform

    • Access Management (AM) 6.5.2+
  • Browsers:

Tip: Older browsers (like IE11) may require multiple polyfills, which can be found in our documentation.

Installation

npm install @forgerock/javascript-sdk

Getting Started

To try out the ForgeRock JavaScript SDK, perform these steps:

  1. Setup CORS support in an Access Management (AM) instance.

    See Enabling CORS Support in the Documentation.

  2. Create an authentication tree in AM.

    See Creating a User Authentication Tree in the Documentation.

  3. Clone this repo:

    git clone https://github.com/ForgeRock/forgerock-javascript-sdk.git
    
  4. In the root folder of the repo, use NPM to install dependencies:

    npm install
    
  5. Build the ForgeRock JavaScript SDK:

    npm run build
    
  6. Open samples/custom-ui/index.html and edit the configuration values to match your AM instance.

  7. This SDK requires HTTPS (secure protocol) which means security (SSL/TLS) certificates are necessary. For local testing and development, it's common to generate your own self-signed certificates. You're free to use any method to do this, but if you need assistance in generating your own certs, the following can be helpful:

    Warning: Self-signed certificates or certificates not from an industry-recognized, certificate authority (CA) should never be used in production.

  8. Serve the samples directory by using a simple HTTP server.

    • If you used the mkcert utility from above, followed their tutorial, and the files are in the root of this project, simply run npm run start:samples

    • Or, if you generated certs using a different method, you will need to run the below with your certificate and key file names you created:

      http-server samples -c1 -p 8443 --ssl --cert <your_certificate> --key <your_private_key>
      
  9. Edit your /etc/hosts file to point your localhost (e.g. 127.0.0.1) to sdkapp.example.com

  10. In a supported web browser, navigate to https://sdkapp.example.com:8443, and then click Custom UI.

Samples

ForgeRock provides these samples to help demonstrate SDK functionality:

  • Custom UI - /samples/custom-ui

    In most real-world scenarios, you will want to have full control over the UI. In these cases, you can use FRAuth to obtain typed callback instances from authentication trees and render the UI in whatever way makes sense for your application.

    In this example, a simple React app iteratively calls FRAuth.next() until either an error occurs, or the sample obtains a session token.

    The custom React component <UsernamePassword /> is defined to handle an authentication step named "UsernamePassword".

Documentation

Documentation for the SDKs is provided at https://sdks.forgerock.com, and includes topics such as:

  • Introducing the SDK Features
  • Preparing AM for use with the SDKS
  • API Reference documentation

Support

If you encounter any issues, be sure to check our Troubleshooting pages.

Support tickets can be raised whenever you need our assistance; here are some examples of when it is appropriate to open a ticket (but not limited to):

  • Suspected bugs or problems with ForgeRock software.
  • Requests for assistance - please look at the Documentation and Knowledge Base first.

You can raise a ticket using BackStage, our customer support portal that provides one stop access to ForgeRock services.

BackStage shows all currently open support tickets and allows you to raise a new one by clicking New Ticket.

Version History

Our version history can be viewed by visiting our CHANGELOG.md.

Contributing

If you would like to contribute to this project you can fork the repository, clone it to your machine and get started.

Be sure to check out our Coding Style and Guidelines page.

Disclaimer

This code is provided on an “as is” basis, without warranty of any kind, to the fullest extent permitted by law.

ForgeRock does not warrant or guarantee the individual success developers may have in implementing the code on their development platforms or in production configurations.

ForgeRock does not warrant, guarantee or make any representations regarding the use, results of use, accuracy, timeliness or completeness of any data or information relating to this code.

ForgeRock disclaims all warranties, expressed or implied, and in particular, disclaims all warranties of merchantability, and warranties related to the code, or any service or software related thereto.

ForgeRock shall not be liable for any direct, indirect or consequential damages or costs of any type arising out of any action taken by you or others related to the code.

License

This project is licensed under the MIT License - see the LICENSE file for details


© Copyright 2020 ForgeRock AS. All Rights Reserved.

About

ForgeRock JavaScript SDK

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 63.3%
  • JavaScript 33.5%
  • HTML 2.1%
  • Other 1.1%