open-index/open-npm huggingface dataset:
npm package: @galaxie/authorizer
Description: This simple library will allow you to perform registration and authorization on your website using [authorizer.app](https://authorizer.app)'s flow.
Latest version: 1.1.0

# /authorizer Core

This simple library will allow you to perform registration and authorization on your website
using [authorizer.app](https://authorizer.app)'s flow.

## General
### Methods
| Name | Description |
|:----:|:-----------:|
| `isSupported()` | Returns a boolean indicating if WebauthN is supported on this navigator |
| `check_params({ state, client_id, user_id })` | Checks if all the parameters are correct |

## Registration
### Methods
| Name | Description |
|:----:|:-----------:|
| `register(params)` | Calls `fetch_registration_params` and `webauthn_register` one after the other. Parameters are transformed using `get_registration_params` |
| `fetch_registration_params(params)` | Fetches registration parameters from the server |
| `get_registration_params(response, params)` | Transforms the server response so the browser can understand it. Accepts extra parameters in order to get `user_name`, `user_display_name` and `user_id` |
| `webauthn_register` | Performs browser credential registration and transforms output to be "server-ready"|

## Authorization
### Methods
| Name | Description |
|:----:|:-----------:|
| `authorize(params)` | Calls `fetch_authorization_params` and `webauthn_authorize` one after the other. Parameters are transformed using `get_authorization_params` |
| `fetch_authorization_params(params)` | Fetches authorization parameters from the server |
| `get_authorization_params(response)` | Transforms the server response so the browser can understand it. |
| `webauthn_authorize` | Performs browser credential authorization and transforms output to be "server-ready"|

## Example

### Registration
```js
WebauthN.register({
	client_id: my_client_id,
	user_id: an_id_to_match_my_user,
	state: a_unique_state
}).then(result => {
	// Send result to authorizer.app or your server (which will verrify with authorizer.app later anyway)
});
```

### Authorization
```js
WebauthN.authorize({
	client_id: my_client_id,
	user_id: an_id_to_match_my_user,
	state: a_unique_state
}).then(result => {
	// Send result to authorizer.app or your server (which will verrify with authorizer.app later anyway)
});
```