Our organization is inviting business users to our application that is enabled for Single Sign-on with guest access through Azure AD B2B. We are struggling with checking when a user has redeemed the invite we send. We require that each user redeems their invite before we setup their account in our application. This is because if we setup their account before they accept, there is a possibility that they will have login issues (especially if they do not use Azure AD or Office 365).
We have not been able to find an easy way to alert or trigger when a user has redeemed an invite. We have tried the following:
Sending the invite, setting up their account, and hoping they use Azure AD (Not acceptable – some users have had issues if they do not use Azure AD and have to setup a Microsoft account)
Using the new OTP feature to allow AD B2B users to sign-in (Not acceptable for our organization)
Running a scheduled powershell job to check if the user has redeemed the B2B invite (Workable with some issues, but overall not ideal)
Changing the B2B Invite Redirect URL to an HTTP Endpoint. Which will trigger a Logic App or MS Flow after the user clicks on the link to redeem their invite. (Works better, but after going through the invite redemption process the user will be taken to a blank HTML response page, which we can put some static text on that page, but its still not great. Ref: https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-http-endpoint)
We are basically looking for an easy way to trigger when a B2B user has redeemed our invite. Option #4 seems to be the best approach we could find so far, but would need some way to have the HTTP response in Flow or Logic Apps to redirect them to our company’s website (instead of a blank web page with some static text).