This topic was automatically generated from Slack. You can find the original thread here.
need to have dynamic credentials
my workflow would be like this:
• I send request to endpoint to get Google calendar data (this can be get events, create event, update and delete event)
• parse the calendar data
• return the results in endpoint
I need to have dynamic credentials (not to be set via pipedream UI)
is there a way to use SSO maybe to authenticate any user, I just have to authenticate just once as a organization and the members of the organization would have direct access? This is just example with Google calendar but it can be any other app to integrate via SSO. Is this possible and how? How would you make such integration?
To achieve dynamic credentials and use Single Sign-On (SSO) for authenticating users in your organization, you can configure SSO with Google Workspace in Pipedream. This allows you to authenticate once as an organization, and members of the organization can access the integration without setting individual credentials in the Pipedream UI. Here’s a step-by-step guide on how you can set this up: ### Configure SSO with Google Workspace 1. Requirements: - SSO is supported for workspaces on the Business and Enterprise plans. You can visit the Pipedream pricing page to upgrade if needed. - You need to be an administrator of your Pipedream workspace and have someone who can create SAML apps in Google Workspace. 2. Configuration: - Set up a SAML application in Google Workspace. If you’re not a Google Workspace admin, coordinate with one to proceed. 3. Integration: - Once SSO is configured, you can use the Google API with OAuth scopes that Pipedream has configured by default. These include scopes for accessing Google Calendar, Drive, and Spreadsheets. 4. Using the Integration: - Within your Pipedream workflow, you can make API requests to Google services using the OAuth token provided by the SSO setup. Here’s an example of how you might make a request to the Google Calendar API: ```
import { axios } from “@pipedream/platform”; export default defineComponent({ props: { google: { type: “app”, app: “google”, }, }, async run({ steps, $ }) { return await axios($, { url: https://www.googleapis.com/calendar/v3/calendars/primary/events, headers: { Authorization: Bearer ${this.google.$auth.oauth_access_token}, }, }); }, });