xing-api-client
Version:
A client library for interacting with the Xing API
54 lines (46 loc) • 1.85 kB
JavaScript
;
var chunk4ZVENEQJ_js = require('./chunk-4ZVENEQJ.js');
// src/auth/getAuthorizationUrl.ts
function getAuthorizationUrl(parameters) {
const url = new URL("https://api.xing.com/auth/oauth2/authorize");
url.searchParams.append("client_id", parameters.client_id);
url.searchParams.append("redirect_uri", parameters.redirect_uri);
if (parameters.state) url.searchParams.append("state", parameters.state);
return url.toString();
}
// src/auth/utils/buildGetTokenQueryParams.ts
function buildGetTokenQueryParams(params) {
return new URLSearchParams({
client_id: params.client_id,
client_secret: params.client_secret,
redirect_uri: params.redirect_uri,
code: params.code,
grant_type: "authorization_code"
}).toString();
}
// src/auth/getAccessToken.ts
async function getAccessToken(parameters) {
const url = "https://api.xing.com/auth/oauth2/token";
const queryParams = buildGetTokenQueryParams(parameters);
const response = await chunk4ZVENEQJ_js.sendRequest(`${url}?${queryParams}`, { method: "POST" });
return response.json();
}
// src/auth/utils/buildRefreshTokenQueryParams.ts
function buildRefreshTokenQueryParams(params) {
return new URLSearchParams({
client_id: params.client_id,
client_secret: params.client_secret,
refresh_token: params.refresh_token,
grant_type: "refresh_token"
}).toString();
}
// src/auth/refreshAccessToken.ts
async function refreshAccessToken(parameters) {
const url = "https://api.xing.com/auth/oauth2/token";
const queryParams = buildRefreshTokenQueryParams(parameters);
const response = await chunk4ZVENEQJ_js.sendRequest(`${url}?${queryParams}`, { method: "POST" });
return response.json();
}
exports.getAccessToken = getAccessToken;
exports.getAuthorizationUrl = getAuthorizationUrl;
exports.refreshAccessToken = refreshAccessToken;