@okta-dfuhriman/okta-auth-js
Version:
The Okta Auth SDK
74 lines (69 loc) • 1.81 kB
text/typescript
import { sendRequest } from './request';
import {
IAPIFunction,
BaseTransaction,
PasswordTransaction
} from './types';
/**
* @scope: okta.myAccount.password.read
*/
export const getPassword: IAPIFunction<PasswordTransaction> = async (
oktaAuth,
options
) => {
const transaction = await sendRequest(oktaAuth, {
url: `/idp/myaccount/password`,
method: 'GET',
accessToken: options?.accessToken,
transactionClassName: 'PasswordTransaction'
}) as PasswordTransaction;
return transaction;
};
/**
* @scope: okta.myAccount.password.manage
*/
export const enrollPassword: IAPIFunction<PasswordTransaction> = async (
oktaAuth,
options
): Promise<PasswordTransaction> => {
const { accessToken, payload } = options!;
const transaction = await sendRequest(oktaAuth, {
url: '/idp/myaccount/password',
method: 'POST',
payload,
accessToken,
transactionClassName: 'PasswordTransaction'
}) as PasswordTransaction;
return transaction;
};
/**
* @scope: okta.myAccount.password.manage
*/
export const updatePassword: IAPIFunction<PasswordTransaction> = async (
oktaAuth,
options
): Promise<PasswordTransaction> => {
const { accessToken, payload } = options!;
const transaction = await sendRequest(oktaAuth, {
url: '/idp/myaccount/password',
method: 'PUT',
payload,
accessToken,
transactionClassName: 'PasswordTransaction'
}) as PasswordTransaction;
return transaction;
};
/**
* @scope: okta.myAccount.password.manage
*/
export const deletePassword: IAPIFunction<BaseTransaction> = async (
oktaAuth,
options?
) => {
const transaction = await sendRequest(oktaAuth, {
url: `/idp/myaccount/password`,
method: 'DELETE',
accessToken: options?.accessToken,
}) as BaseTransaction;
return transaction;
};