I'm designing an authentication scheme for a new project. People will be able to authenticate via Google / Facebook / Microsoft etc. accounts using OpenID
. All these providers do support two-factor authentication.
My goal is simple: when a user registers or logs in using an OpenID principal, I want to query the authentication service and tell if the user has enabled two factor authentication or not. If he did, and passed both steps, "Welcome user", else "Sorry buddy but this site is very secure and you must enable two-factor authentication".
Is that possible using current services? I have read Google docs and found nothing about it. Since the OpenID Connect does not support any "two-step authentication" attribute for the token, nor a "strength" attribute that may be exploited, I must rely on a specific profile API that might reveal such information. But I have found none yet at least in Google APIs.