// @flow export function slackAuth( state: string, scopes: string[] = [ 'identity.email', 'identity.basic', 'identity.avatar', 'identity.team', ], redirectUri: string = `${process.env.URL}/auth/slack` ): string { const baseUrl = 'https://slack.com/oauth/authorize'; const params = { client_id: process.env.SLACK_KEY, scope: scopes ? scopes.join(' ') : '', redirect_uri: redirectUri, state, }; const urlParams = Object.keys(params) .map(key => `${key}=${encodeURIComponent(params[key])}`) .join('&'); return `${baseUrl}?${urlParams}`; }