@lonelyplanet/dotcom-core
Version:
This package is meant to house some of our more common UI and shared libs across dotcom applications.
29 lines (25 loc) • 917 B
text/typescript
import AuthRequestBuilder from "@lonelyplanet/open-planet-node/dist/authRequestBuilder";
import TYPES from "../types";
import {
IAuthOptionsDefaults,
IAuthRequestParams,
} from "../interfaces";
import { authDefaults } from "../constants";
export const authSetupWithDefaults = (params: IAuthRequestParams = {}) => {
const defaults = authDefaults;
const options = params.options || {};
const host = params.host || defaults.host;
return AuthRequestBuilder.build({
host: host,
options: {
...options,
clientId: options.clientId || defaults.options.clientId,
scope: options.scope || defaults.options.scope,
redirectUri: options.redirectUri || `${host.replace(/http:/, "https:")}/sso`,
targetLinkUri: options.targetLinkUri || (typeof window !== "undefined" && window.location.origin + window.location.pathname),
}
});
}
export default {
authSetupWithDefaults,
};