|
@@ -650,6 +650,53 @@ This example sends the signed claims:
|
650
|
650
|
|
651
|
651
|
NB: The JWT implementation only supports the RSA and HMAC based algorithms.
|
652
|
652
|
|
|
653
|
+##### Configure and test JWT authentication with Auth0
|
|
654
|
+
|
|
655
|
+First you need to create an account on [Auth0](https://auth0.com/auth/login).
|
|
656
|
+Once logged in, you have to create an application (its type does not matter). Collect the `Domain`
|
|
657
|
+and `Client ID` and keep them for a later use. Then, create an API: give it a name and fill the
|
|
658
|
+`identifier` field with your API endpoint's URL.
|
|
659
|
+
|
|
660
|
+Then you have to configure the `jwtAuth.secret` configuration in your `api.php` file.
|
|
661
|
+Don't fill it with the `secret` you will find in your Auth0 application settings but with **a
|
|
662
|
+public certificate**. To find it, go to the settings of your application, then in "Extra settings".
|
|
663
|
+You will now find a "Certificates" tab where you will find your Public Key in the Signing
|
|
664
|
+Certificate field.
|
|
665
|
+
|
|
666
|
+To test your integration, you can copy the [auth0/vanilla.html](examples/clients/auth0/vanilla.html)
|
|
667
|
+file. Be sure to fill these three variables:
|
|
668
|
+
|
|
669
|
+ - `authUrl` with your Auth0 domain
|
|
670
|
+ - `clientId` with your Client ID
|
|
671
|
+ - `audience` with the API URL you created in Auth0
|
|
672
|
+
|
|
673
|
+⚠️ If you don't fill the audience parameter, it will not work because you won't get a valid JWT.
|
|
674
|
+
|
|
675
|
+You can also change the `url` variable, used to test the API with authentication.
|
|
676
|
+
|
|
677
|
+[More info](https://auth0.com/docs/api-auth/tutorials/verify-access-token)
|
|
678
|
+
|
|
679
|
+##### Configure and test JWT authentication with Firebase
|
|
680
|
+
|
|
681
|
+First you need to create a Firebase project on the [Firebase console](https://console.firebase.google.com/).
|
|
682
|
+Add a web application to this project and grab the code snippet for later use.
|
|
683
|
+
|
|
684
|
+Then you have to configure the `jwtAuth.secret` configuration in your `api.php` file.
|
|
685
|
+Grab the public key via this [URL](https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com).
|
|
686
|
+There may be several certificates, just grab the one corresponding to your `kid` (if you don't
|
|
687
|
+know what it is, just test them all until you will be logged in).
|
|
688
|
+Now, just fill `jwtAuth.secret` with your public key.
|
|
689
|
+
|
|
690
|
+To test your integration, you can copy the [firebase/vanilla.html](examples/clients/firebase/vanilla.html)
|
|
691
|
+file and the [firebase/vanilla-success.html](examples/clients/firebase/vanilla-success.html) file,
|
|
692
|
+used as a "success" page and to display the API result.
|
|
693
|
+
|
|
694
|
+Replace, in both files, the Firebase configuration (`firebaseConfig` object).
|
|
695
|
+
|
|
696
|
+You can also change the `url` variable, used to test the API with authentication.
|
|
697
|
+
|
|
698
|
+[More info](https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_a_third-party_jwt_library)
|
|
699
|
+
|
653
|
700
|
## Authorizing operations
|
654
|
701
|
|
655
|
702
|
The Authorization model acts on "operations". The most important ones are listed here:
|