-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
acp:CreatorAgent logic #262
Comments
I have opened a discussion space for this: #261 giving rights to the creator of a resource. |
The acp:CreatorAgent is the agent that created the resource that is being requested access over. That would be denoted by a context graph where the instance of resource access is described with both the agent and the creator having matching URIs. For example: _:context
a acp:Context ;
acp:agent ex:Bob ;
acp:creator ex:Bob ;
acp:target ex:resourceX ;
acp:owner ex:Alice ;
acp:client ex:ClientApplicationY ;
acp:issuer ex:IdentityProviderZ . See also: https://solid.github.io/authorization-panel/acp-specification/#context-attributes In that case, if Bob tries to access ex:matcherA
a acp:Matcher, acp:AgentMatcher ;
acp:agent ex:Djamila, acp:CreatorAgent . See also: https://solid.github.io/authorization-panel/acp-specification/#agent-matcher Then agent It is up to the Solid server to keep record and send as part of the context this piece of information (who created the resource) to the authorization server. See also: solid/specification#315 |
If I can start with just this point ex:matcherA
a acp:Matcher, acp:AgentMatcher ;
acp:agent ex:Djamila, ex:CreatorAgent . we have
But that is not what |
There was a typo in my example, apologies about that. The only one specific correct URI that refers to the agent who created the resource being queried over something is fixed by ACP:
That formulation is clumsy, thank you for pointing it out! Here, the simplicity of using the Let's imagine for an instant that we introduce a second predicate, let's say All this would enable is to let people match on both the specific WebID being asserted and qualities of the WebID in regard to the resource being queried. For example: ex:matcherA
a acp:Matcher, acp:AgentMatcher, acp:AgentClassMatcher ;
acp:agent ex:Djamila ;
acp:agentClass acp:CreatorAgent . Would only match if I believe it is more useful and makes more sense to perform all forms of matching of the WebID asserted as controlled at once or at least to allow it. That is, in the current form, it is easy to say I want to give access to And if someone wanted to only allow access to Djamila if she is the Creator Agent, that would be perfectly possible via an ex:isDjamilaCreatorAgentPolicy
acp:allow acl:Read, acl:Write ;
acp:allOf ex:matchDjamila, ex:matchCreatorAgent .
ex:matchDjamila acp:agent ex:Djamila .
ex:matchCreatorAgent acp:agent acp:CreatorAgent . That obviously is a matter of preference, I see your point (creating an agentClass matcher would simply mean using anyOf policies instead). I do have to agree that from a purity point of view, we might think that mixing matching of agents and qualities of agents is bad. But I am not 100% certain what the best tradeoff is here. I think that the convenience of matching on one aspect of the request at once (the controlled WebID) might outweight the purity and does have beauty and sense in itself. |
In the latest ACP Draft, the definition of
The
It is substantiated by pseudocode for the satisfied matcher algorithm. I will close this specific issue as the pseudocode shows a detailed example where this is used and the |
On proposal
ACP
Details
Acp haș defined an acp:CreatorAgent.
It says:
What kind of Agent is such an Agent? Is not everyone with a Solid Account a creator of some resource?
Acceptance criteria
What actions are needed to resolve this issue? (checklist)
If those cannot be shown satisfactorily, remove the definition from the PR.
The text was updated successfully, but these errors were encountered: