- Issue created by @kingdutch
It's currently not possible to require a scope for one application type, while always allowing access for the other application type. This can occur for example if you want to limit access to a field on a user entity for applications that act on behalf of a user (e.g. an address or phone number) but expect that any bot integration (like a CRM system) will always be able to see that information.
Create a field and add a allowUser()
scope. This now prevents a bot user from accessing the field. However allowBot
without any required scopes is not allowed.
Remove the required flag on the String!
in allowBot
and allowUser
(we still require it in allowAll
because otherwise you could remove that directive entirely). getRequiredScopes
needs to differentiate between the directive being absent (returning NULL
) and being present but empty (returning []
) This will allow the code in Server::checkAccess
to differentiate between these scenarios too and change the empty
check to === NULL
.
Active
1.0
Code