billions-minister-2901
05/05/2024, 1:34 PMchilly-king-10285
05/05/2024, 1:34 PMchilly-king-10285
05/05/2024, 1:35 PMjavascript const code = "authorization_code_received_from_auth_server" const tokenUrl = "https://{project.slug}.<http://projects.oryapis.com/oauth2/token|projects.oryapis.com/oauth2/token>" const requestBody = `grant_type=authorization_code&client_id=${clientId}&code_verifier=${codeVerifier}&code=${code}` fetch(tokenUrl, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: requestBody, }) .then((response) => response.json()) .then((data) => console.log(data)) .catch((error) => console.error(error)) In this code, code is the authorization code received from the Authorization Server. tokenUrl is the URL of the token endpoint of the Authorization Server. requestBody is a string that contains the parameters of the POST request. The fetch function is used to send the POST request to the tokenUrl. The response from the server is then parsed as JSON and logged to the console. Please note that this is a general example. The actual values of code, tokenUrl, and requestBody will depend on your specific application and Ory setup. For more information, you can refer to the [Ory documentation on the OAuth2 authorization code flow](https://www.ory.sh/docs/oauth2-oidc/authorization-code-flow#step-4-exchange-code-for-token).billions-minister-2901
05/05/2024, 1:35 PMchilly-king-10285
05/05/2024, 1:35 PMchilly-king-10285
05/05/2024, 1:35 PMjavascript const code = "authorization_code_received_from_auth_server" const tokenUrl = "https://{project.slug}.<http://projects.oryapis.com/oauth2/token|projects.oryapis.com/oauth2/token>" const requestBody = `grant_type=authorization_code&client_id=${clientId}&code=${code}` fetch(tokenUrl, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: requestBody, }) .then((response) => response.json()) .then((data) => console.log(data)) .catch((error) => console.error(error)) In this code, code is the authorization code received from the Authorization Server. tokenUrl is the URL of the token endpoint of the Authorization Server. requestBody is a string that contains the parameters of the POST request. The fetch function is used to send the POST request to the tokenUrl. The response from the server is then parsed as JSON and logged to the console. Please note that this is a general example. The actual values of code, tokenUrl, and requestBody will depend on your specific application and Ory setup. For more information, you can refer to the [Ory documentation on the OAuth2 authorization code flow](https://www.ory.sh/docs/oauth2-oidc/authorization-code-flow#exchange-code-for-token-1).billions-minister-2901
05/05/2024, 1:37 PMchilly-king-10285
05/05/2024, 1:37 PMchilly-king-10285
05/05/2024, 1:37 PM{URL-encoded-client-ID}:{URL-encoded-client-secret}. Here's an example: javascript const clientID = "the-client-id" const clientSecret = "the-secret-id" const basicAuth = bas64_encode(url_encode(clientID) + ":" + url_encode(clientSecret)) const requestOptions = { method: "POST", headers: { Authorization: "Basic " + basicAuth, "Content-Type": "application/x-www-form-urlencoded", }, body: "grant_type=client_credentials&scope=read", } fetch("<https://your-project.projects.oryapis.com/oauth2/token>", requestOptions) .then((response) => response.json()) .then((data) => console.log(data)) (Source: [Ory Documentation - Basic Authentication](https://www.ory.sh/docs/oauth2-oidc/client-credentials#basic-authentication)) 2. Body Authentication: The client sends its client ID and client secret as parameters in the body of the HTTP request. Here's an example: javascript const clientID = "the-client-id" const clientSecret = "the-secret-id" const qs = new URLSearchParams() qs.set("grant_type", "client_credentials") qs.set("client_id", clientID) qs.set("client_secret", clientSecret) qs.set("scope", read) const requestOptions = { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: qs.toString(), } fetch("<https://your-project.projects.oryapis.com/oauth2/token>", requestOptions) .then((response) => response.json()) .then((data) => console.log(data)) (Source: [Ory Documentation - Body Authentication](https://www.ory.sh/docs/oauth2-oidc/client-credentials#body-authentication)) Please replace "the-client-id" and "the-secret-id" with your actual client ID and client secret. Also, replace "<https://your-project.projects.oryapis.com/oauth2/token>" with your actual token endpoint URL.