2017-07-20 1 views
1

Un de nos clients nous a demandé d'intégrer notre système à ADFS (Active Directory Federation Services) tandis qu'un autre nous a demandé de l'intégrer à Okta. Ils veulent que l'expérience se déroule comme suit: les utilisateurs finaux ouvrent l'application Windows (sur leur ordinateur associé au domaine) et peuvent l'utiliser immédiatement avec une authentification implicite de l'un de ces fournisseurs d'identité. Pas de clic supplémentaire ou d'inscription. Je suis prêt à créer plusieurs copies de l'application intégrées dans ces différents fournisseurs d'identité si nécessaire. Notre configuration actuelle utilise Node/Express en tant que backend (hébergé sur les services Web Amazon) et tout le trafic est envoyé via cette API. Notre interface client est une application Windows wpf. Cela semble être une configuration moins commune. Actuellement, l'utilisateur doit s'inscrire avec un courriel et un mot de passe, et doit se connecter en utilisant le même courriel et le même mot de passe pour commencer à utiliser l'application.Utilisation de l'application WPF (avec le backend de noeud) avec ADFS?

Il ya 3 parties à cette question que je suis super confus (je suis un stagiaire avec des connaissances limitées, alors s'il vous plaît expliquer comme si j'avais 5 ans si possible). D'un autre côté, je crois avoir une solide compréhension de la façon dont Single Sign On fonctionne sur le plan conceptuel (avec nous étant le fournisseur de services et ADFS/Okta étant le fournisseur d'identité). Même si vous pouvez répondre à certaines de ces questions, je serais très reconnaissant!

  1. Que dois-je faire (le cas échéant) à notre API backend? Je suppose que tout doit juste être fait à travers le client Windows droit? Mais ensuite j'ai vu un passeport saml package mais je ne sais pas si j'en ai besoin pour accomplir cette tâche.

  2. Que dois-je faire à notre frontend? J'ai essayé l'un de auth0's sample windows application mais il semble que tout passe toujours par un écran de connexion. Au moins pour toute connexion de médias sociaux. Nous aimerions idéalement le faire sans écran de connexion et, espérons-le, sans logiciel propriétaire comme Auth0 (puisque nous gérons déjà notre propre base de données utilisateur). Nous voulons juste quelque chose pour qu'au démarrage de notre application wpf, l'application interroge les informations de l'utilisateur (via ADFS ou Okta) et ensuite tout en arrière-plan, l'utilisateur est automatiquement connecté. Des pointeurs ici?

  3. Ce que je dois faire sur le côté du serveur Windows du répertoire actif principal (ce serait sur le réseau d'entreprise d'un client)? J'ai vu des astuces pour configurer des URL de rappel, des certificats, des métadonnées, etc., mais je ne suis pas sûr de ce que tout cela est. Beaucoup de questions ne font que le mentionner, mais n'expliquent pas pourquoi ou pourquoi?

Enfin, je regrette si l'une des questions sont vagues, j'ai essayé de faire des recherches, mais il semble tout comme toutes les pièces sont trop avancés ou tout simplement ne sont pas applicables à ma configuration. Merci pour votre temps!

+0

Quel type d'authentification/autorisation utilisez-vous pour l'API backend? –

+0

Le backend utilise actuellement une authentification simple. L'utilisateur s'enregistre en entrant un email et un mot de passe (et d'autres informations), puis nous stockons cela (le mot de passe est haché à l'aide d'une bibliothèque) sur notre base de données. Lorsqu'ils se connectent, nous confirmons leur mot de passe et générons ensuite un jeton Web json pour eux. Ce JWT est ensuite utilisé pour les authentifier avec toutes les autres demandes. –

Répondre

0

ADFS etc. s'appuient sur des protocoles de fédération tels que WS-Fed et SAML 2.0 et le comportement IDP est donc déterminé par le protocole.

Il n'y a pas de fonctionnalité basée sur le navigateur pour que vous connecter.

Vous serez toujours redirigé vers un écran de connexion IDP. Une fois que vous vous êtes authentifié, d'autres applications sur le même IDP ne nécessiteront pas d'authentification. Ils peuvent facilement vous connecter en fonction des cookies.

Vous ne pouvez pas interroger les informations utilisateur. jusqu'à ce que vous sachiez qui est l'utilisateur. Sur le côté ADFS, vous pouvez configurer manuellement un RP (votre application).