2010-12-15 62 views
2

Je dois utiliser un fournisseur de services avec plusieurs fournisseurs d'identité (idps) chaque idp est connecté au sp en utilisant un sous-domaine, par exemple http://subdomain1.mysite.com se connecte à idp1, http://subdomain2.mysite.com se connecte à idp2 etc alors mon URL de service de consommateur d'assertion ressemble à ceci https://mysite.com/SAML/AssertionConsumerService.aspx.SAMLv2 SP initié: un fournisseur de service et plusieurs fournisseurs d'identité

Le problème est que j'ai besoin de savoir de quelle idp la réponse provient du code AssertionConsumerService.aspx afin que je puisse charger le bon certificat. J'ai essayé l'émetteur, la destination de réponse et d'autres moyens sans la chance.

Est-ce que quelqu'un sait un bon moyen de différencier les IDPS de la réponse et/ou les meilleures pratiques? Ou y a-t-il un moyen standard de le faire?

J'utilise http://www.componentspace.com/Products/SAMLv20.aspx

Répondre

1

Dans notre système, nous avons une entité qui représente le client (nous l'appelons un « domaine de service ») et exiger que le client à identifier cette entité par nom soit comme valeur de l'élément émetteur ou la valeur de l'attribut SPProvidedID de l'émetteur. La configuration SAML à notre extrémité (SP) est associée à cette entité "domaine de service", y compris, par exemple, le certificat de clé publique pour la vérification de sa signature numérique. Je dirais que l'utilisation de la valeur Issuer est plus appropriée que d'essayer de supprimer les sous-domaines.

2

Comme vous l'avez remarqué, si vous avez la même URL ACS pour toutes les personnes déplacées, la destination sera toujours le même dans le Assertion.

Chaque IDP doit (doit?) Avoir son propre émetteur unique à tout le moins s'il possède également son propre certificat public avec lequel il signe. Dans mon expérience, PingFederate et d'autres serveurs s'assurent qu'il charge les informations de configuration correctes lors de la validation d'une réponse. Je ne sais pas pourquoi l'émetteur ne travaillerait pas pour vous dans cette situation aussi.

Vous pouvez vous retrouver dans des situations où des IDP "différents" de la même société peuvent vous envoyer des réponses avec le même émetteur et différents certs et attributs d'attribut DSIG, mais cela ne devrait pas se produire dans la plupart des cas.

HTH Ian

+0

Salut, merci pour la réponse. Je pourrais utiliser l'émetteur idp, c'est-à-dire le bit idp1 dans https://subdomain.idp1.com et obtenir le certificat basé sur cela, mais cela semble être une solution? Recommanderiez-vous l'émetteur? J'ai lu que vous pouvez utiliser le fichier de métadonnées de l'idp mais je ne pense pas qu'il soit connecté à une réponse (assertion). La principale raison de l'utilisation de la même URL ACS est que vous n'avez pas besoin d'acheter un SSL pour chaque sous-domaine sp plus le code dupliqué. – ctb

+1

Je suis d'accord avec JST ci-dessous. L'élément "Issuer" doit être présent dans le message (selon la spécification) et fait partie du message signé (réponse ou assertion) IIRC. Vous devriez compter sur cela. – Ian