Authentication
Authenticating with the LearnCard Network API
To interact with the LearnCard Network API, you can choose one of two ways to authenticate:
Using the LearnCard Network Plugin (
@learncard/network-plugin
) which handles authentication for you. (Preferred option)Directly through the API endpoints using challenge-based DID Authentication.
1. Using LearnCard Network Plugin
To authenticate using the LearnCard Network Plugin (@learncard/network-plugin
), first install the package:
Then, either instantiate a LearnCard Network enabled LearnCard, or add the Network Plugin to an existing LearnCard:
When using the LearnCard Network Plugin, challenge-based DID Authentication is handled for you, so no further steps are necessary.
2. Using Challenge-based DID Authentication
If you choose to use the API endpoints directly, you'll need to manage challenge-based DID Authentication for each request. Here's a simplified TypeScript example to help you implement this authentication method:
In this example, we first define a getClient
function that takes a url
and a didAuthFunction
. The didAuthFunction
should be an asynchronous function that returns a signed challenge as a string.
The getChallenges
function fetches a list of challenges from the API. The getAuthHeaders
function generates an Authorization header using the didAuthFunction
and a challenge. This header can then be used in your API calls.
API Quick Reference
Last updated