Sp-dev-docs: Should an External user be able to see a field with a SPFX FieldCustomizer/Application Customizer?

Created on 22 Jun 2018  路  12Comments  路  Source: SharePoint/sp-dev-docs

Category

  • [X] Question
  • [ ] Typo
  • [X] Bug?
  • [ ] Additional article idea

Expected or Desired Behavior

Any SPFX customizer either Field or Application should be loaded for External users.

Observed Behavior

I have a SPFX field customizer in my list, and a Application Customizer for my list but it doesn't load/display for my external user that has been shared with new "sharing link". (Haven't tested if sharing with site)

I receive "*Failed to load component " in the developer console. Looks like the external user doesn't have access to https://.sharepoint.com/sites/apps/ClientSideAssets

Steps to Reproduce

Create a simple SPFX Application/Field Customizer and assign to a list.
In the package-solution.json I have includeClientSideAssets as true.
Use Powershell/PNP to create a Field with a clientsideComponet, or powershell/pnp to add Application Customizer to the document library base type 101.
Check it works for an internal user.
Then share a folder with an external user where the Field/Application customizer is being used.
Log in as the external user, does the field/application customizer work?

spfx-extensions spfx-general tracked

All 12 comments

I have since found out that if I make my spfx use the SharePoint Public CDN, this works for external users. It seems that if you want to just keep the files within the App Catalog and not use a CDN then you get the issue with external user loading the component.

I guess that麓s expected Paul, as external users have no access to the App Catalog site collection. Seems same reason that we have in this other issue: https://github.com/SharePoint/sp-dev-docs/issues/1137

Cheers Luis. Is there any news if #1137 is going to be fixed? I've been using Tenant properties recently and luckily at the moment nothing is for external users, but it would be good if we could centralise all our properties there for spfx that external users will see.

No updates on that one mate. @VesaJuvonen re-opened it some months ago, as seems was still an issue. I haven麓t re-test it, as I had to find a work-around due to the delay in the fix (in my case some settings that I configured using Tenant properties were deployed as spfx Extension properties instead), but yeah, the tenant properties should be available for Guest users too, or I don麓t see great benefit on it.

By default the component manifests list is not visible to external users (we will change this and make a fix going forward). That being said, in order to unblock yourself until we do that you can do the following:
Open a sharepoint tenant admin console
Run "Set-SPOTenant -ShowEveryoneClaim $true"
Go to the the appcatalog components manifest list (appcatalog/lists/componentmanifests)
Click list permissions
Add Everyone to the viewers group
Run "Set-SPOTenant -ShowEveryoneClaim $false" from the tenant admin console

Nice workaround, thanks! guess the second

Set-SPOTenant -ShowEveryoneClaim $true

should be set to $false to disable the Everyone claim again:

Set-SPOTenant -ShowEveryoneClaim $false

@luismanez - thanks for pointing that out! I have fixed it so people don't cut and paste it blindly and get it wrong.

Thanks!
Graham

@GrahamMcMynn even after setting the below configuration. Still the extension is not loading for external users. Could you please let me know what i need to further? Thanks!
Run "Set-SPOTenant -ShowEveryoneClaim $true"
Go to the the appcatalog components manifest list (appcatalog/lists/componentmanifests)
Click list permissions
Add Everyone to the viewers group
Run "Set-SPOTenant -ShowEveryoneClaim $false" from the tenant admin console

What error are you getting?

@GrahamMcMynn There was no error. After executing your scripts i saw that Everyone is added to viewers group, then i logged in as external user but extension was not displayed. Later I enabled public CDN and it worked for external users. Thanks!

We have given a workaround of using the CDN, however, sharing with external users without the CDN needs different feature work in order to be supported and we do not have that on our backlog at this point.

Issues that have been closed & had no follow-up activity for at least 7 days are automatically locked. Please refer to our wiki for more details, including how to remediate this action if you feel this was done prematurely or in error: Issue List: Our approach to locked issues

Was this page helpful?
0 / 5 - 0 ratings