UNPKG

pulumi-fusionauth

Version:

A Pulumi package for managing FusionAuth instances.

110 lines 6.32 kB
"use strict"; // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.FusionAuthIdpSteam = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * ## # Steam Identity Provider Resource * * The Steam identity provider type will use the Steam OAuth login API. It will also provide a Login with Steam button on FusionAuth’s login page that will direct a user to the Steam login page. The Steam login uses the implicit OAuth grant and will return to the callback URL with token and state in the URL Fragment. This is handled by the FusionAuth /oauth2/implicit javascript function to pass those values to the /oauth2/callback endpoint. * * This identity provider will call Steam’s API to load the Steam user’s personaname and use that as username to lookup or create a user in FusionAuth depending on the linking strategy configured for this identity provider. However, Steam does not allow access to user emails, so neither email linking strategy can be used and user’s will not be able to login or be created. * * FusionAuth will also store the Steam token that is returned from the Steam login in the link between the user and the identity provider. This token can be used by an application to make further requests to Steam APIs on behalf of the user. * * [Steam Identity Provider APIs](https://fusionauth.io/docs/v1/tech/apis/identity-providers/steam/) * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fusionauth from "pulumi-fusionauth"; * * const steam = new fusionauth.FusionAuthIdpSteam("steam", { * applicationConfigurations: [{ * applicationId: fusionauth_application.GPS_Insight.id, * createRegistration: true, * enabled: true, * }], * buttonText: "Login with Steam", * clientId: "0eb1ce3c-2fb1-4ae9-b361-d49fc6e764cc", * scope: "Xboxlive.signin Xboxlive.offline_access", * webApiKey: "HG0A97ACKPQ5ZLPU0007BN6674OA25TY", * }); * ``` */ class FusionAuthIdpSteam extends pulumi.CustomResource { /** * Get an existing FusionAuthIdpSteam resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name, id, state, opts) { return new FusionAuthIdpSteam(name, state, Object.assign(Object.assign({}, opts), { id: id })); } /** * Returns true if the given object is an instance of FusionAuthIdpSteam. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === FusionAuthIdpSteam.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["apiMode"] = state ? state.apiMode : undefined; resourceInputs["applicationConfigurations"] = state ? state.applicationConfigurations : undefined; resourceInputs["buttonText"] = state ? state.buttonText : undefined; resourceInputs["clientId"] = state ? state.clientId : undefined; resourceInputs["debug"] = state ? state.debug : undefined; resourceInputs["enabled"] = state ? state.enabled : undefined; resourceInputs["idpId"] = state ? state.idpId : undefined; resourceInputs["lambdaReconcileId"] = state ? state.lambdaReconcileId : undefined; resourceInputs["linkingStrategy"] = state ? state.linkingStrategy : undefined; resourceInputs["scope"] = state ? state.scope : undefined; resourceInputs["tenantConfigurations"] = state ? state.tenantConfigurations : undefined; resourceInputs["webApiKey"] = state ? state.webApiKey : undefined; } else { const args = argsOrState; if ((!args || args.buttonText === undefined) && !opts.urn) { throw new Error("Missing required property 'buttonText'"); } if ((!args || args.clientId === undefined) && !opts.urn) { throw new Error("Missing required property 'clientId'"); } if ((!args || args.webApiKey === undefined) && !opts.urn) { throw new Error("Missing required property 'webApiKey'"); } resourceInputs["apiMode"] = args ? args.apiMode : undefined; resourceInputs["applicationConfigurations"] = args ? args.applicationConfigurations : undefined; resourceInputs["buttonText"] = args ? args.buttonText : undefined; resourceInputs["clientId"] = args ? args.clientId : undefined; resourceInputs["debug"] = args ? args.debug : undefined; resourceInputs["enabled"] = args ? args.enabled : undefined; resourceInputs["idpId"] = args ? args.idpId : undefined; resourceInputs["lambdaReconcileId"] = args ? args.lambdaReconcileId : undefined; resourceInputs["linkingStrategy"] = args ? args.linkingStrategy : undefined; resourceInputs["scope"] = args ? args.scope : undefined; resourceInputs["tenantConfigurations"] = args ? args.tenantConfigurations : undefined; resourceInputs["webApiKey"] = args ? args.webApiKey : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(FusionAuthIdpSteam.__pulumiType, name, resourceInputs, opts); } } exports.FusionAuthIdpSteam = FusionAuthIdpSteam; /** @internal */ FusionAuthIdpSteam.__pulumiType = 'fusionauth:index/fusionAuthIdpSteam:FusionAuthIdpSteam'; //# sourceMappingURL=fusionAuthIdpSteam.js.map