我正在使用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帐户)重定向到“我的应用”页面的邀请组织。