Client SDKs
This project publishes a Swagger 2.0 and OpenAPI 3 specification. Please see the Specification page for more information. Client SDKs are responsible for providing an abstraction layer for the API that performs the underlying HTTP requests. This involves handling API authentication, exposing request/response data types, and performing the HTTP requests. Unsuccessful API responses should be treated as errors and returned to the caller. Ideally, clients should be able to perform local JWT validation using a cached version of the JWK Set.
Official Client SDKs
Golang
The official Go client is in the client
package of
the GitHub project. Please see the
examples/client
directory to get started.
3rd Party Client SDKs
Currently, there are no 3rd party clients. If you've made a client for the magiclinksdev
project with documentation
and are willing to maintain it, please open a GitHub issue to
announce it. After a brief review, it may be put in this documentation section with your permission.
If you are implementing your own client, please note the default JWK Set relative path is /api/v1/jwks.json
.
Every API client needs to validate the aud
claim in the JWT. This is essential to prevent a malicious service
account from requesting a signed JWT for a different service. Every service account has at least one aud
given on creation. The iss
claims should be checked too. The iss
claim is specific to the configuration of the
magiclinksdev service, typically the URL.