2010-12-07 34 views
2

Je commence à utiliser DotNetOpenAuth et que vous voulez comprendre ce que les membres suivants de l'interface IAuthenticationRequest sont destinés et comment ils devraient être utilisés:DotNetOpenAuth IAuthenticationRequest demande d'explication membre

IsDelegatedIdentifier: bool 
IsDirectedIdentity: bool 

Et à partir de l'interface IHostProcessedRequest héritée :

Immediate: bool 

S'il vous plaît quelqu'un pourrait fournir une brève explication? Merci.

+0

De plus, pourquoi et quand un message IAnonymousRequest doit-il être reçu par mon fournisseur au lieu d'un IAuthenticationRequest? – Confused

Répondre

2

Ce sont tous les concepts directement à partir du OpenID 2.0 spec, donc vous pouvez vous y référer pour la réponse complète. Et en passant, il y a un fichier .chm doc qui est inclus avec DotNetOpenAuth qui documente également ces membres.

Mais voici ce que vous vous demandez:

IsDelegatedIdentifier Une valeur qui indique si l'utilisateur héberge son propre identifiant OpenID que délègue ensuite à votre fournisseur. Pas habituellement quelque chose que vous devez faire quelque chose de spécial pour que DotNetOpenAuth prenne soin de tout pour vous. Mais dans le cas vous aviez une politique de refus de délégation, cela fournirait le chemin.

IsDirectedIdentity Une valeur indiquant si l'utilisateur/RP sait déjà quel identificateur revendiqué il s'attend à récupérer. Si false, ils le savent déjà et vous (le fournisseur) devez simplement vérifier que l'utilisateur connecté contrôle cet identificateur; Si vous avez besoin de true en tant que fournisseur pour déterminer quel utilisateur est connecté et définir la propriété ClaimedIdentifier sur une valeur appropriée pour cet utilisateur.

Immediate Une valeur indiquant si vous devez décider immédiatement d'approuver ou de rejeter une requête RP. Si true vous n'êtes pas autorisé à interagir avec l'utilisateur, vous ne pouvez pas afficher l'interface utilisateur, vous pouvez seulement rediriger vers le RP avec votre décision. Si false vous pouvez demander à l'utilisateur de se connecter, leur demander de confirmer, etc. En mode immédiat, si vous ne pouvez pas être sûr de qui est l'utilisateur ou si l'utilisateur approuve le RP, vous devez toujours retourner une réponse de refus.

IAnonymousRequest vient à la place de IAuthenticationRequest lorsque le RP n'a pas veulent un identifiant validé du tout, mais veulent simplement des réponses à des extensions de demande OpenID qui sont inclus. En d'autres termes, ils ne veulent pas savoir qui l'utilisateur est, ils veulent juste savoir quelque chose environ eux. Ces types de demandes sont décrits dans la spécification OpenID mais sont rares dans la pratique, en fait la plupart des bibliothèques OpenID ne les prennent même pas en charge. DotNetOpenAuth fait.