Skip to content

Commit

Permalink
DEV: Add verbose auth logs (#92)
Browse files Browse the repository at this point in the history
Add verbose auth logs

Example result:
```
OAuth Debugging: response status 200

From POST https://login.salesforce.com/id/XXXX/YYYY

Headers:
{"User-Agent"=>"Faraday v2.11.0", "Authorization"=>"Bearer XYZ", "Content-Length"=>"0"}

Body:
{"id":"https://login.salesforce.com/id/XXXX/YYYYY","asserted_user":true,"user_id":"YYYYY","organization_id":"XXXX","username":"[email protected]","nick_name":"discourse.team","display_name":"Discourse Team","email":"[email protected]","email_verified":true,"first_name":"Discourse","last_name":"Team","timezone":"America/Los_Angeles","photos":...
```
  • Loading branch information
nattsw authored Sep 5, 2024
1 parent e476836 commit 929dc6f
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 7 deletions.
1 change: 1 addition & 0 deletions config/locales/server.en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ en:
salesforce_case_status_tag_prefix: "Prefix to add before Salesforce case status tags. For example, if prefix is 'case' then the tags will be added like case-open, case-closed, etc."
salesforce_skip_contact_creation_on_case_sync: "Skip creation of Salesforce Contact during Case sync"
salesforce_default_contact_id_for_case_sync: "Default Salesforce Contact ID to use during Case sync. Useful when 'salesforce_skip_contact_creation_on_case_sync' is enabled."
salesforce_auth_verbose_logging: "Show verbose Salesforce authentication logs in /logs for troubleshooting"
errors:
salesforce_client_credentials_required: "Salesforce client id and client secret settings are required"
salesforce:
Expand Down
2 changes: 2 additions & 0 deletions config/settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,5 @@ discourse_salesforce:
salesforce_api_error_logs:
default: false
hidden: true
salesforce_auth_verbose_logging:
default: false
24 changes: 17 additions & 7 deletions plugin.rb
Original file line number Diff line number Diff line change
Expand Up @@ -170,15 +170,25 @@ def register_middleware(omniauth)
omniauth.provider :salesforce,
setup:
lambda { |env|
strategy = env["omniauth.strategy"]
strategy.options[:client_id] = SiteSetting.salesforce_client_id
strategy.options[:client_secret] = SiteSetting.salesforce_client_secret
strategy.options[
:redirect_uri
] = "#{Discourse.base_url}/auth/salesforce/callback"
strategy.options[:client_options][
opts = env["omniauth.strategy"].options
opts[:client_id] = SiteSetting.salesforce_client_id
opts[:client_secret] = SiteSetting.salesforce_client_secret
opts[:redirect_uri] = "#{Discourse.base_url}/auth/salesforce/callback"
opts[:client_options][
:site
] = SiteSetting.salesforce_authorization_server_url
opts[:client_options][:connection_build] = lambda do |builder|
if SiteSetting.salesforce_auth_verbose_logging
builder.response :logger,
Rails.logger,
{
bodies: true,
formatter: Auth::OauthFaradayFormatter,
}
end
builder.request :url_encoded
builder.adapter FinalDestination::FaradayAdapter
end
}
end

Expand Down

0 comments on commit 929dc6f

Please sign in to comment.