diff --git a/lib/nylas/api.rb b/lib/nylas/api.rb index 3ee5df84..be2d4bcc 100644 --- a/lib/nylas/api.rb +++ b/lib/nylas/api.rb @@ -36,18 +36,15 @@ def authenticate(name:, email_address:, provider:, settings:, reauth_account_id: end def authentication_url(redirect_uri:, scopes:, response_type: "code", login_hint: nil, state: nil, - provider: nil, redirect_on_error: nil) - params = { - client_id: app_id, - redirect_uri: redirect_uri, - response_type: response_type, - login_hint: login_hint - } + provider: nil, redirect_on_error: nil, disable_provider_selection: nil) + params = { client_id: app_id, redirect_uri: redirect_uri, response_type: response_type, + login_hint: login_hint } params[:state] = state if state params[:scopes] = scopes.join(",") if scopes params[:provider] = provider if provider params[:redirect_on_error] = redirect_on_error if redirect_on_error + params[:disable_provider_selection] = disable_provider_selection if disable_provider_selection "#{api_server}/oauth/authorize?#{URI.encode_www_form(params)}" end diff --git a/spec/nylas/api_spec.rb b/spec/nylas/api_spec.rb index e57e8d2b..ee96885f 100644 --- a/spec/nylas/api_spec.rb +++ b/spec/nylas/api_spec.rb @@ -82,7 +82,8 @@ login_hint: "email@example.com", state: "some-state", provider: "gmail", - redirect_on_error: true + redirect_on_error: true, + disable_provider_selection: true ) expected_url = "https://api.nylas.com/oauth/authorize"\ @@ -93,7 +94,8 @@ "&state=some-state"\ "&scopes=email%2Ccalendar"\ "&provider=gmail"\ - "&redirect_on_error=true" + "&redirect_on_error=true"\ + "&disable_provider_selection=true" expect(hosted_auth_url).to eq expected_url end end