Buckets:
| // LinkedIn doesn't seem to support HTTP Basic Auth | |
| import { createOAuth2Request, sendTokenRequest } from "../request.js"; | |
| const authorizationEndpoint = "https://www.linkedin.com/oauth/v2/authorization"; | |
| const tokenEndpoint = "https://www.linkedin.com/oauth/v2/accessToken"; | |
| export class LinkedIn { | |
| clientId; | |
| clientSecret; | |
| redirectURI; | |
| constructor(clientId, clientSecret, redirectURI) { | |
| this.clientId = clientId; | |
| this.clientSecret = clientSecret; | |
| this.redirectURI = redirectURI; | |
| } | |
| createAuthorizationURL(state, scopes) { | |
| const url = new URL(authorizationEndpoint); | |
| url.searchParams.set("response_type", "code"); | |
| url.searchParams.set("client_id", this.clientId); | |
| url.searchParams.set("state", state); | |
| url.searchParams.set("scope", scopes.join(" ")); | |
| url.searchParams.set("redirect_uri", this.redirectURI); | |
| return url; | |
| } | |
| async validateAuthorizationCode(code) { | |
| const body = new URLSearchParams(); | |
| body.set("grant_type", "authorization_code"); | |
| body.set("code", code); | |
| body.set("redirect_uri", this.redirectURI); | |
| body.set("client_id", this.clientId); | |
| body.set("client_secret", this.clientSecret); | |
| const request = createOAuth2Request(tokenEndpoint, body); | |
| const tokens = await sendTokenRequest(request); | |
| return tokens; | |
| } | |
| async refreshAccessToken(refreshToken) { | |
| const body = new URLSearchParams(); | |
| body.set("grant_type", "refresh_token"); | |
| body.set("refresh_token", refreshToken); | |
| body.set("client_id", this.clientId); | |
| body.set("client_secret", this.clientSecret); | |
| const request = createOAuth2Request(tokenEndpoint, body); | |
| const tokens = await sendTokenRequest(request); | |
| return tokens; | |
| } | |
| } | |
Xet Storage Details
- Size:
- 1.84 kB
- Xet hash:
- 0faff98a8e8b94910f74f7bad1ccb48551f9a88f7b499e1e8fc0d4e74fa61113
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.