c# - como - En WCF/WIF, cómo combinar reclamos de dos tokens de sts personalizados de diferentes clientes
security token c# (1)
Intento crear algo así como: el cliente se autentica y obtiene el token del STS1 personalizado, el próximo cliente lo autoriza con la clave del equipo y se emite un token en el STS2 personalizado y obtiene otro token. Con el último token, el cliente solicita métodos en el servicio RP.
Todos los servicios están alojados en IIS y están utilizando un escenario de federación activo. Ambos STS tienen puntos finales con vinculaciones ws2007Federation y ws2007Http, y RP usan ws2007FederationBinding con STS2 como emisor.
Si creo un canal con CreateChannelWithIssuedToken, solo puedo ver el token de STS1 y no puedo obtener token de STS2.
Así que decidí pasar el token de STS1 como propiedad de ActAs RST a petición del token STS2. Y eso falló: no se puede descifrar el token.
- ¿Cómo puedo pasar ambos tokens a STS2 y fusionar los reclamos en ellos?
- ¿Es una mala idea enviar para RST solo extractos de token de STS1?
En general, solo querrá utilizar un token en cada paso. Por lo tanto, si necesita unir las reclamaciones, querrá hacerlo en el paso de transformación de reclamaciones del segundo STS.
Por lo tanto, el flujo se autenticará con STS1 y luego se autenticará con STS2 con el token de STS1. En ese punto, pasará por los reclamos y se transformará para agregar reclamos adicionales según sea necesario. Entonces, el Token resultante estaría listo para consumir desde la aplicación RP.
De hecho, he comenzado una serie de blogs sobre un escenario realmente similar que hemos diseñado recientemente. No quiero promocionarme demasiado, pero no me gana dinero, así que lo publicaré en caso de que sea útil.
http://www.livingthearchitecture.com/mixing-sso-with-existing-technologies/
Me encantaría profundizar más, pero dependiendo de los detalles de su escenario, los detalles de la solución cambiarán enormemente. Creo que lo anterior expresa el enfoque general que querrás. Avíseme si puedo ayudar más.