万一通过邀请API将邀请发送给Azure AD外部访客用户,正确的RedirectUrl应该是什么?

时间:2019-06-12 10:50:00

标签: azure azure-ad-b2b

我正在使用Azure AD B2B邀请API邀请外部用户,但未发送默认邀请电子邮件(由MS电子邮件发送)。而是我从邀请对象获取兑换URL,将重定向URL添加到“ https://myapps.microsoft.com?tenantId=”,然后发送带有公司商标的电子邮件。 问题是,没有Azure AD租户的外部用户在成功登录后不会重定向到此URL,因为这些类型的用户使用OTP(一次性密码)方法。但是,如果用户是Azure AD用户或具有MSA帐户,则重定向可以正常进行。

对于重定向URL,我已经尝试过以下URL: https://myapps.microsoft.com?tenantId= 这不适用于非Azure AD或非MSA帐户用户

https://myapps.microsoft.com/contoso.com 这根本不起作用。始终让用户重新登录

https://myapps.microsoft.com 这不适用于Azure AD用户,因为当用户单击兑换链接时,它将打开受邀组织的应用程序页面。而是应打开邀请组织的应用程序页面。

var token = GetAuthToken();             邀请InvitationUserResponse = null;

        try
        {
            Invitation invite = new Invitation();
            invite.InvitedUserEmailAddress = guestUserEmail;
            if (!string.IsNullOrWhiteSpace(guestUserDisplayName))
            {
                invite.InvitedUserDisplayName = guestUserDisplayName;
            }

            invite.InviteRedirectUrl = "https://myapps.microsoft.com?tenantId=<my tenant id>";
            invite.SendInvitationMessage = false;

            GraphServiceClient graphClient = GraphUtility.CreateGraphClient(token.AccessToken);
            inviteUserResponse = graphClient.Invitations.Request().AddAsync(invite).Result;
        }
        catch (ServiceException ex)
        {
            throw;
        }
        return inviteUserResponse;

预期结果是,应将所有类型的外部用户(Azure AD用户,MSA帐户,Gmail帐户和其他类型的帐户,即非Azure AD帐户或非MSA帐户)重定向到“我的应用”页面的邀请组织。

0 个答案:

没有答案