Skip to content

Commit

Permalink
Merge pull request #1040 from matrix-org/jryans/msisdn-submit-url
Browse files Browse the repository at this point in the history
Add support for sending MSISDN tokens to alternate URLs
  • Loading branch information
jryans authored Sep 23, 2019
2 parents 4eb547e + 6144945 commit 1a368aa
Showing 1 changed file with 36 additions and 1 deletion.
37 changes: 36 additions & 1 deletion src/base-apis.js
Original file line number Diff line number Diff line change
Expand Up @@ -1963,7 +1963,7 @@ MatrixBaseApis.prototype.requestMsisdnToken = async function(
};

/**
* Submits an MSISDN token to the identity server
* Submits a MSISDN token to the identity server
*
* This is used when submitting the code sent by SMS to a phone number.
* The ID server has an equivalent API for email but the js-sdk does
Expand Down Expand Up @@ -2013,6 +2013,41 @@ MatrixBaseApis.prototype.submitMsisdnToken = async function(
}
};

/**
* Submits a MSISDN token to an arbitrary URL.
*
* This is used when submitting the code sent by SMS to a phone number in the
* newer 3PID flow where the homeserver validates 3PID ownership (as part of
* `requestAdd3pidMsisdnToken`). The homeserver response may include a
* `submit_url` to specify where the token should be sent, and this helper can
* be used to pass the token to this URL.
*
* @param {string} url The URL to submit the token to
* @param {string} sid The sid given in the response to requestToken
* @param {string} clientSecret A secret binary string generated by the client.
* This must be the same value submitted in the requestToken call.
* @param {string} msisdnToken The MSISDN token, as enetered by the user.
*
* @return {module:client.Promise} Resolves: Object, currently with no parameters.
* @return {module:http-api.MatrixError} Rejects: with an error response.
*/
MatrixBaseApis.prototype.submitMsisdnTokenOtherUrl = function(
url,
sid,
clientSecret,
msisdnToken,
) {
const params = {
sid: sid,
client_secret: clientSecret,
token: msisdnToken,
};

return this._http.requestOtherUrl(
undefined, "POST", url, undefined, params,
);
};

/**
* Gets the V2 hashing information from the identity server. Primarily useful for
* lookups.
Expand Down

0 comments on commit 1a368aa

Please sign in to comment.