2017-10-09 7 views
1

Je développe un démon Office 365 à locataires multiples qui nécessite l'accès aux calendriers utilisateur.Enregistrement multi-locataire Daemon office 365 app sur le consommateur AAD en accordant le consentement de l'administrateur, Existe-t-il également une inscription séparée sur le consommateur?

Je me suis enregistré avec succès dans le locataire de l'entreprise (Tenant1) qui a déployé cette application en utilisant des certificats et je peux obtenir des jetons d'accès.

Maintenant, j'ai créé un client séparé AAD (locataire 2) et connecté à l'application démon en utilisant le compte administrateur du locataire 2, il a invité l'écran de consentement administratif et j'ai donné son consentement. Aucune erreur n'a été renvoyée.

Lorsque j'ai essayé d'obtenir un jeton d'application, cependant, je peux obtenir un jeton mais avec des autorisations vides. Si j'appelle l'API Office 365 en utilisant ce jeton, j'obtiens un 401.

J'étais d'avis que les objets principaux de service devraient être créés. Aussi, je suis incapable de voir cette application dans les inscriptions de l'application Tenant 2.

Est-ce que tous mes clients doivent enregistrer cette application manuellement dans leur locataire AD et modifier le fichier manifeste de l'application pour ajouter les détails du certificat?

Je ne suis pas sûr de l'avantage de la multi-location si c'est le cas.

Je trouve le suivi dans le Azure Active Directory documentation:

Le schéma suivant illustre la relation entre un l'objet d'application de l'application et des objets principaux de service correspondant, dans le cadre d'un exemple d'application multi-locataire appelé application RH. Il y a trois locataires AD Azure dans ce scénario:

  • Adatum - le locataire utilisé par la société qui a développé l'application HR
  • Contoso - le locataire utilisé par l'organisation Contoso, qui est un consommateur de l'application RH
  • Fabrikam - le locataire utilisé par l'organisation Fabrikam, qui consomme aussi l'application HR
+0

Je pense que vous devez partager quelques exemples de code ici. En général, vous ne devez PAS enregistrer plusieurs applications dans plusieurs locataires. Tant que votre application principale dans le locataire 1 est activée pour plusieurs locataires, elle devrait fonctionner de la même manière pour un nombre illimité de locataires. –

Répondre

1

Vous n'avez pas besoin d'avoir chaque locataire d'enregistrer votre demande. En fait, vous ne devrait pas car avoir des dizaines (ou des centaines) d'ID d'application uniques qui circulent ne ferait que créer des maux de tête pour vous. Chaque locataire doit cependant exécuter le workflow de consentement administratif. Cela autorisera l'identifiant de l'application que vous avez enregistré de votre côté pour accéder aux portées que vous avez demandées.

Généralement, je recommande d'utiliser le point de terminaison v2 et le portail apps.dev.microsoft.com pour enregistrer votre application. Même si vous pouvez également enregistrer votre application dans votre propre annuaire Active Directory, le portail facilite grandement la gestion.

Le processus général est:

  1. vous inscrire application dans le Registration Portal

  2. Peupler les "Autorisations d'application" dans la section Microsoft Graph des autorisations.

  3. Lancement de la charge de travail de consentement administrateur à l'aide https://login.microsoftonline.com/common/adminconsent?client_id=[APPLICATION ID]&redirect_uri=[REDIRECT URI]

  4. déguster une bière

Quelques conseils:

  • Le portail d'enregistrement ne supporte que les comptes MSA (c.-à-personnel) en ce moment. Je suggère de créer un nouveau compte Outlook.com à cet effet afin que vous puissiez facilement partager les informations d'identification avec les personnes qui en ont besoin en interne.

  • Si vous créez un compte Outlook.com partagé, vous devez également définir des règles de transfert pour toutes les parties intéressées en interne. C'est au cas où quelque chose devrait aller mal ou changer sur la route et vous devez récupérer le compte. J'ai écrit une amorce v2 Endpoint et Admin Consent que vous pourriez trouver utile. Ils supposent que vous utilisez le flux du code d'autorisation, mais les concepts restent les mêmes pour les informations d'identification du client.

+0

L'étape 4 a fait l'affaire. Je suis allé chercher de la bière et j'ai essayé à nouveau, j'ai récupéré les autorisations et le jeton de l'application fonctionne. On dirait que cela prend un certain temps après le consentement de l'administrateur. Merci pour les conseils du portail d'enregistrement, Will les essayer .. – rohit