1

I need allow users to log in on a Drupal site using their Salesforce IDs.

I understand that the Salesforce site will need to be configured as an Identity Provider and will provide a SAML certificate. What I'm not clear on is what to do with the certificate and how to configure the Drupal site to accept the Salesforce user's credentials in the Drupal authentication process.

I found a question on this site, now deleted, where the answer was to use the Salesforce Suite module. The Salesforce Suite module doesn't seem to come with this functionality, but instead seems to map and pull in Salesforce users and map them onto Drupal entities. I have also seen a number of modules with varying degrees of documentation and even one premium(!) module, but I'm still not sure which way to implement.

  1. How do you configure Drupal for SSO?

  2. What do you do with the SAML certificate provided by the IDP?

  3. How do you manage the user roles?

  • One way to do it is to change the default user authentication service to a custom service of your own that works with the authentication process of Salesforce. Look at ExternalAuth module, but you can also roll your own. – Kevin Oct 19 '17 at 13:25
  • Looks like it's D8 only – nizz0k Oct 19 '17 at 13:31
  • The principle is still the same... there is also a Salesforce module. In D7 there are some comments on this function: api.drupal.org/api/drupal/modules!user!user.module/function/… – Kevin Oct 19 '17 at 13:55
  • As I say in the post, the Salesforce module seems to offer a work-around as opposed the functionality I want. If pulling and mapping the contacts to users will work, can you explain why it's better than SSO? – nizz0k Oct 19 '17 at 13:56
  • 1
    Here is an example workflow I made for a SSO with Netforum. I don't know the Salesforce API, but I assume the process would be very similar: imgur.com/a/mLHxW – Kevin Oct 19 '17 at 14:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.