登录到执行Powershell脚本的PHP网站时,显示office365 SSO提示

问题描述

我们没有在网站上运行某种形式的云外壳。我们正在通过Windows服务器运行Powershell主机。

我们正在为Web引擎运行apache,为前端网站运行php。我们的PHP执行不同的powershell脚本,以将登录变量或属性更改传递给用户office365租户。以下脚本可用于传递用户名和密码,但不允许出现“单一登录”窗口。

当我们运行代码时,它会在Windows会话中本地加载Windows登录凭据提示。我们希望通过某种方式将其传递给网络用户。

我们还希望缓存令牌,因此我们可以向主机运行其他帐户更改脚本,而无需用户登录他们对其office365所做的每次更改。

我浏览了其他票证,其中大多数都在Exchange或类似的地方,但并没有像我们的问题那样退出。

这是我的代码PHP + Powershell

Shell_Exec(powershell.exe -executionpolicy bypass -NoProfile -File login.ps1 xyz@domain.onmicrosoft.com);

login.ps1

$getCredential = Get-Credential $args[0] $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $getCredential.UserName,$getCredential.Password $Session = New-CsOnlineSession -Credential $Credential Import-PSSession -Session $Session -AllowClobber

这是当前弹出的窗口,但是显然只有当您在本地Windows环境中时,此选项才起作用,而如果您是使用我们网站的远程用户,则不会。

Windows Login Manager Prompt

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...