0
votes

Authentification de base au lieu de l'authentification AAD (Azure Active Directory)

My Microsoft Teams APP doit accéder à un service Web de repos utilisant l'authentification de base.

Les tutoriels ne semblent montrer que pour le faire pour l'authentification avec Azure Active Directory:

https://docs.microsoft. COM / EN-US / Apprendre / MODULES / EMBEDDED-EXPERIENCESSIONS / 7-EXERCIER-MALOGHT-TAB-Authentification

Le tutoriel ci-dessus montre à l'utilisateur une invite de connexion et authentifie le côté client. Comment puis-je implémenter quelque chose comme celui-ci pour l'authentification de base?

EDIT : Je mentionne le côté du client car je veux que les équipes se souviennent de la connexion. Le service Web est essentiellement pour la collaboration. Donc, je ne peux pas utiliser le même compte pour tous les utilisateurs

edit2

pour l'exhaustivité, je comprends un exemple d'appel latéral client qui a fini par fonctionner ( Il montre une fenêtre contextuelle à l'utilisateur la première fois que dans un navigateur): xxx


0 commentaires

3 Réponses :


0
votes

Azure AD ne prend pas en charge l'authentification de base pour des services externes. Vous avez deux options:

  • migrer de Basic auth-à-propos de «Authentification moderne» (OpenID Connect / OAuth / (dernier recours) SAML) Si vous le pouvez. Celui-ci est préféré.

  • Sélectionnez un wat pour demander à l'utilisateur pour son nom d'utilisateur / mot de passe, car il s'agit essentiellement de ce dont vous avez besoin pour l'authentification de base

    Dernier point mais non le moindre, si votre service Web n'a pas besoin d'un compte d'utilisateur, mais simplement d'un compte de service, vous pouvez enregistrer les détails de l'authentification sur ce service Web dans un keyvault Azure et les lire lorsque vous devez construire le Hauteur d'authentification de base.

    Mais encore une fois, Azure Ad ne supporte pas l'authentification de base. Et en fait, Microsoft est amorcant l'authentification de base pour Exchange Online comme annoncé ici .


2 commentaires

J'ai édité la question pour clarifier que c'est une application d'équipes. Donc, les applications des équipes ont-elles construit une authentification de base en support pour des services externes? Vous mentionnez la construction d'un en-tête d'authentification de base. Cette fonctionnalité fait-elle partie des équipes JavaScript SDK?


et je préfère utiliser le même compte pour tous les utilisateurs, car le service Web passe des changements par utilisateur



1
votes

Je suppose que vous essayez d'accéder à une page externe ou de ressource nécessitant une authentification de base. Sinon, il n'y aurait aucune raison d'essayer de faire serment. Les équipes semblent supporter l'authentification de base pour les onglets, par exemple, je peux ajouter un onglet le point sur un site Web avec Auth Basic Auth, et une popup violette apparaîtra, mais comment la déclencher d'une application serait une histoire différente. en supposant que vous appelez juste https://api.abc.com/whatever tout le temps dans le App, une solution "peut-être" serait d'intégrer une iframe quelque part dans la vue App Teams App, et chargez ce domaine, comme https://api.abc.com/test Si cette page nécessite une authentification, elle doit contempler cette fenêtre d'authentification pourpre que vous pouvez saisir votre "authentification de base" dans. Après avoir fait cela, les équipes "Navigateur" En théorie devrait maintenant avoir une session autorisée.

Si vous n'aimez pas de cette façon, vous pouvez faire une première page de votre application dans laquelle ils saisissent leur nom d'utilisateur et leur mot de passe, prennent l'entrée, puis appellent un appel http quelque chose comme ceci: HTTTPS://Stackoverflow.com/a/57665644/13470894 ?

Espérons que cela aide un peu

Cordialement,


3 commentaires

Je viens de tester à l'aide d'une page avec une authentification de base en tant qu'ant onglet, comme vous l'avez suggéré. Et en effet j'ai vu la popup pourpre pour vous connecter! Cela semble très intéressant. Il y a peut-être une composante SDK JavaScript JavaScript pour faire cela. Je vais regarder dans ça ...


Je ne pense pas que je puisse utiliser la réponse que vous indiquez parce qu'il est le côté serveur. Et je veux que les équipes se souviennent de la connexion. C'est l'utilisateur spécifique. Mais je regarde dans votre autre suggestion


Merci! Cela m'a pointé dans la bonne direction. La solution consistait à appeler simplement le côté du service de service Web. Comme les navigateurs, les équipes Microsoft affichent l'utilisateur une popup pour vous connecter la première fois, puis se souvient du mot de passe de la session.



0
votes

Il existe des API, qui affichent une fenêtre d'authentification de base / erreur sur tentative de les atteindre, mais en fait, l'accès est capable en adoptant un autre en-tête d'authentification - parfois totalement personnalisé.

Contact avec le propriétaire de l'API et posez-vous à ce sujet, vous ne ferez rien de plus sans simplement leur parler.


1 commentaires

Je contrôle réellement la méthode d'authentification des deux côtés. L'authentification de base est la seule chose à disposition de ce service Web et fonctionne bien dans mon navigateur. Je veux savoir comment cela se fait normalement avec des équipes car les équipes sont nouvelles pour moi. J'espère que cette façon, les équipes se souvient de la connexion. Parce que, j'essaie également d'éviter l'utilisateur de se connecter pour chaque demande. C'est pourquoi j'ai mentionné le côté client