Menu Home

Office 365 SharePoint Search for External Users

If you have a SharePoint online site one of the best features is the ability to invite external users to collaborate with you, or simple just access your data. To invite external users is super simple compared to the traditional on-premise extranet scenario. Investing in SharePoint online as a replacement to on-premise extranets might very well be a business case on its own.
Jesper Osgaard have a great blog post that highlights what external users can do, and what they can’t, you should read it if you are unsure. The only sever limitation on the list for external users is that they per default cannot access the search center. However, luckily that can easily be changed. Here is how.
First step is to enable external access to the search site collection from the central administration.
allowexternalusers

The next step is to invite the users to both your team site and the search center.
Finally, you need to reconfigure the search on your teamsite to use your search center, since the default search results page for team sites (osssearchresults.aspx) does not allow external users to see any results.
configureSearch
With these changes, your external users will be able to search your content.

Search using the REST API for External Users

If you have some custom code, e.g. an APP that uses the search rest API you will notice that it will not work for your external users. The solution to this is to add a sourceid of a result source you created to your REST seach api url like this
http://host/site/_api/search/query?querytext='term'&sourceid='98ecbfc9-5bc7-4a80-b430-cc09f58e3303'
The result source could be as simple as {searchTerms} Path:{Site.URL} or it could be more advanced if you need that. Here is a screenshot of my configuration
resultsource
Now external users will be able to search via the REST API by using your result source.

Categories: SharePoint

Tagged as:

Simon J.K. Pedersen

4 replies

  1. Was this done by design since the Search Center is a separate site collection and permissions exist at the site collection level? Or was this done for security/licensing reasons by Microsoft?

  2. I liked your solution. I have a question. Is it true that new site collection must be created for search center and re configure current site collection to use newly created search center in order for external users to search current site collection ? What if we create basic search center site on current site collection and invite external users there and configure current site collection to use that basic search center within same site collection ?

  3. I got that worked out by creating a subsite based on “Basic Search Center Template “within same site collection and inheriting permissions (this solves inviting external users) and navigation from parent site. Now external user is able to search contents from site collection.

    My question is what is the difference between your approach and my approach ? I mean difference between creating site collection for search center only and then inviting external users to it VS creating a sub site based on “Basic search center” within same site collection ?

Leave a Reply

Your email address will not be published. Required fields are marked *