X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=lib%2Fcommunication.js;fp=lib%2Fcommunication.js;h=2a69e34df0fe4f150f8b2548a131ae0ca2391ddd;hb=e486f80a4e7a1f65498335e7408f3301c9e7cb44;hp=82400c354e2864d5124b605fcaf965169188ecf8;hpb=786217e7862a4d956c6510c6a171c86ab160fda6;p=squeep-indieauth-helper diff --git a/lib/communication.js b/lib/communication.js index 82400c3..2a69e34 100644 --- a/lib/communication.js +++ b/lib/communication.js @@ -749,8 +749,8 @@ class Communication { /** - * POST to the auth endpoint, to redeem a code for a profile object. - * FIXME: [name] this isn't specific to profile redemption, it works for tokens too + * POST to the auth endpoint, to redeem a code for a profile or token. + * N.B. this absorbs any errors! * @param {URL} urlObj * @param {String} code * @param {String} codeVerifier @@ -758,8 +758,8 @@ class Communication { * @param {String} redirectURI * @returns {Object} */ - async redeemProfileCode(urlObj, code, codeVerifier, clientId, redirectURI) { - const _scope = _fileScope('redeemProfileCode'); + async redeemCode(urlObj, code, codeVerifier, clientId, redirectURI) { + const _scope = _fileScope('redeemCode'); const formData = common.formData({ 'grant_type': 'authorization_code', @@ -769,13 +769,13 @@ class Communication { 'code_verifier': codeVerifier, }); - const postRedeemProfileCodeConfig = Communication._axiosConfig('POST', urlObj, formData, {}, { + const postRedeemCodeConfig = Communication._axiosConfig('POST', urlObj, formData, {}, { [Enum.Header.ContentType]: Enum.ContentType.ApplicationForm, [Enum.Header.Accept]: `${Enum.ContentType.ApplicationJson}, ${Enum.ContentType.Any};q=0.1`, }); try { - const response = await this.axios(postRedeemProfileCodeConfig); + const response = await this.axios(postRedeemCodeConfig); try { return JSON.parse(response.data); } catch (e) { @@ -783,14 +783,29 @@ class Communication { throw e; } } catch (e) { - this.logger.error(_scope, 'redeem profile code request failed', { error: e, url: urlObj.href }); + this.logger.error(_scope, 'redeem code request failed', { error: e, url: urlObj.href }); return; } } /** - * Verify a token with an IdP endpoint, using the Authentication header supplied. + * Deprecated method name. + * @see redeemCode + * @param {URL} urlObj + * @param {String} code + * @param {Strin} codeVerifier + * @param {String} clientId + * @param {String} redirectURI + * @returns {Object} + */ + async redeemProfileCode(urlObj, code, codeVerifier, clientId, redirectURI) { + return await this.redeemCode(urlObj, code, codeVerifier, clientId, redirectURI); + } + + + /** + * Verify a token with an IdP endpoint, using the Authorization header supplied. * @param {URL} introspectionUrlObj * @param {String} authorizationHeader * @param {String} token @@ -844,10 +859,10 @@ class Communication { /** * Attempt to deliver a ticket to an endpoint. * N.B. does not absorb errors - * @param {*} ticketEndpointUrlObj - * @param {*} resourceUrlObj - * @param {*} subjectUrlObj - * @param {*} ticket + * @param {URL} ticketEndpointUrlObj + * @param {URL} resourceUrlObj + * @param {URL} subjectUrlObj + * @param {String} ticket * @returns {Promise} */ async deliverTicket(ticketEndpointUrlObj, resourceUrlObj, subjectUrlObj, ticket) {