2011-09-02 6 views
0

Je construis un WIF STS et je suis capable de générer un jeton. Comment puis-je renvoyer le jeton à l'URL originale? J'ai remarqué que ceci est présent dans le paramètre wctx sous la forme ru =. Comment puis-je extraire ceci sans l'analyser manuellement comme une chaîne?Retour WIF à l'application RP

Répondre

0

Si vous voulez retourner le jeton de retour à la partie utilisatrice, vous pouvez simplement utiliser la méthode ProcessRequest semblable à ceci:

var claims = new List<Claim> 
    { 
     new Claim(WSIdentityConstants.ClaimTypes.Name, User.Identity.Name), 
     new Claim(ClaimTypes.AuthenticationMethod, FormsAuthenticationHelper.GetAuthenticationMethod(User.Identity)) 
    }; 

     var identity = new ClaimsIdentity(claims, STS.TokenServiceIssueTypes.Native); 
     var principal = ClaimsPrincipal.CreateFromIdentity(identity); 

     FederatedPassiveSecurityTokenServiceOperations.ProcessRequest(
      Request, 
      principal, 
      StarterTokenServiceConfiguration.Current.CreateSecurityTokenService(), 
      Response); 

Si vous êtes à la recherche d'extraire les paramètres d'URL, jetez un oeil au WSFederationMessage.CreateFromUri.

+0

Merci pour votre réponse. Je fais déjà à peu près la même chose. Mais nous devons surcharger la méthode GetScope et affecter un paramètre ReplyTo. C'est là que je suis un peu confus. Comment puis-je extraire les valeurs de la variable de contexte? Depuis que je veux frapper le point de terminaison RP avec le jeton nouvellement créé. – Girish

+0

Vous pouvez remplacer 'GetScope' dans votre classe dérivée de' SecurityTokenService'. Si vous voulez changer le ReplyTo, il suffit d'utiliser quelque chose comme ceci: 'protected override Portée GetScope ( Microsoft.IdentityModel.Claims.IClaimsPrincipal principale, RequestSecurityToken demande) { scope Scope = nouvelle portée (demande); scope.ReplyToAddress = votre adresse; étendue de retour; } ' –

+0

Regardez ici pour plus d'informations: http://msdn.microsoft.com/en-us/magazine/dd347547.aspx#id0100026 –

Questions connexes