Azure active directory azure广告的一次性登录url?

Azure active directory azure广告的一次性登录url?,azure-active-directory,Azure Active Directory,是否可以获取浏览器客户端可以使用的一次性签名url,该客户端将自动验证浏览器会话并重定向到saml2集成资源?目前,我有一个应用集成(appa)设置,使用saml2,使用azure广告作为其身份提供者。因此,对它的任何未经验证的请求都会被重定向到azure ad登录页面,然后在验证用户凭据提交后,它会使用SAML2重定向到应用程序A 我还有一个web应用程序(应用程序B),它使用自己的凭据提供商。我希望应用程序B中的帐户子集使用Azure Ad中的特殊用户设置自动进行身份验证,然后作为该特殊用户

是否可以获取浏览器客户端可以使用的一次性签名url,该客户端将自动验证浏览器会话并重定向到saml2集成资源?目前,我有一个应用集成(appa)设置,使用saml2,使用azure广告作为其身份提供者。因此,对它的任何未经验证的请求都会被重定向到azure ad登录页面,然后在验证用户凭据提交后,它会使用SAML2重定向到应用程序A

我还有一个web应用程序(应用程序B),它使用自己的凭据提供商。我希望应用程序B中的帐户子集使用Azure Ad中的特殊用户设置自动进行身份验证,然后作为该特殊用户重定向到应用程序a

我在Azure广告门户中配置了一个新的应用程序集成,它为我提供了客户端id和客户端机密。我可以在Postman中成功地使用它来执行Oauth2/令牌请求。响应包括一个承载令牌,并且响应中还包含一些cookie。问题是,如果我使用ajax/xhr命令尝试相同的请求,我会遇到CORs错误,浏览器永远不会尝试POST请求。我理解将客户端机密传递给客户端脚本是不明智的,但这是我看到的唯一一个试图设置cookie的API,我认为我需要这样做。我可以使用服务器端代码检索这个访问令牌并将其传递给客户端脚本,但我认为这没有任何用处。除非有什么办法,否则我可以使用它将浏览器重定向到Azure AD登录页面本身,使用一个特殊的一次性链接,该链接将愚蠢地对令牌进行身份验证,并将cookie设置到浏览器会话中


有什么方法可以做到这一点吗?

这是您正在尝试使用的客户端凭据流,并且从未打算从前端(公共客户端)使用。我也很确定它不会设置任何有用的cookies,因为它是服务主体(仅应用程序)身份验证,没有用户参与

不,您不能以任何方式跳过交互式身份验证以在Azure AD上获得适当的会话cookie;用户必须登录。 您可以通过放置
login\u提示来指定用户帐户=user@company.com
在授权URI中。 然后用户只需写下密码(如果开启了,则通过MFA)。 如果用户此时在Azure AD上有活动会话,他们将以静默方式登录

存在的主要问题是,为了针对Azure AD登录,用户必须针对Azure AD登录:) 基本上你不能为他们做这件事。 好的,可以使用资源所有者密码凭据授权流(ROPC)进行非交互式身份验证,但这只会给您令牌,而不会创建会话cookie。 如果用户具有MFA/is federated/password过期等,则它不起作用。 一般来说,应该避免这种流,我认为它在您的情况下并不有用,因为应用程序A必须从中获取生成的令牌。
您也无法从前端JS执行此操作:)

谢谢您的回复。那么,你是否认为应用程序B用户可以作为应用程序a用户以非交互方式登录Azure广告?。如果应用程序A使用SAML2集成进行设置,而应用程序B使用自己的凭据存储,但可以访问同一Azure广告中的客户端id和客户端机密设置?我不这么认为,至少:(