-
Notifications
You must be signed in to change notification settings - Fork 14
Closed
Description
Consider the following excerpt from the example of two Federations rooted at two different Trust Anchors as given in Section 1:
.-----------------. .-----------------.
| Trust Anchor A | | Trust Anchor B |
'------.--.-------' '----.--.--.------'
| | | |
.--' '---. .-------------------' |
| | | |
.---v. .-----v-v------. .-----------'
| | | Intermediate | |
'----' '--.--.--.-----' |
| | | |
.-------' | '------. |
| | | |
.--v-. .-v--. .v--v.
| RP | | | | OP |
'----' '----' '----'
Now, suppose that RP only trusts Trust Anchor A, whereas OP only trusts Trust Anchor B.
A user of RP requests to authenticate with OP, so RP initiates an automatic registration with OP (Section 12.1):
RPuses the process defined in Section 10 to learnOP's metadata, i.e., fetchesOP's Entity Configuration and then resolving a Trust Chain, starting withOP'sauthority_hints(i.e.,IntermediateandB). Following theIntermediatepath,RPassembles a Trust Chain fromOPtoA, i.e., the chain[OP, Intermediate, A].RPvalidates that Trust Chain and uses it to resolveOP'sopenid_providermetadata, in particular, its authorization endpoint.RPsends an authentication request with a signed request object (that does not contain a Trust Chain) toOP's authentication endpoint.OPprocesses this request as described in Section 12.1.1. I.e., among other things,OPfetchesRP's Entity Configuration and, starting withRP'sauthority_hints, resolves a Trust Chain, say[RP, Intermediate, B].OPvalidates that Trust Chain and uses it to resolveRP'sopenid_relying_partymetadata, whichOPthen uses to automatically registerRP.
I.e., both OP and RP "trust" each other without having a Trust Anchor in common (actually, RP "trusts" OP already in Step 3).
Unless we overlooked something, the Federation specification does not prevent this from happening.
Note: Such a situation may also lead to disagreement on the openid_... metadata if the different Trust Anchors employ different Federation Policies.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done