c# - Microsoft Azure SSO 不让我登录
问题描述
几天来,我一直在尝试解决此任务,现在是寻求帮助的时候了。我有一个使用 Microsoft Azure SSO 的功能齐全的测试项目,但是当我在自己的项目中使用代码时它不起作用。工作项目使用 .net framework 4.7.2 并基于本教程https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-asp-webapp。我自己的代码也在使用.net framework 4.7.2。
public ActionResult Index()
{
return View();
}
public void SignIn()
{
if (!Request.IsAuthenticated)
{
HttpContext.GetOwinContext().Authentication.Challenge(
new AuthenticationProperties { RedirectUri = "/" },
OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
}
从此方法返回的视图包含一个如下所示的按钮:
<a href="@Url.Action("SignIn", "SSO")" onclick=""style="text-decoration: none;">
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="300px" height="50px" viewBox="0 0 3278 522" class="SignInButton">
<style type="text/css">
.fil0:hover {
fill: #4B4B4B;
}
.fnt0 {
font-size: 260px;
font-family: 'Segoe UI Semibold', 'Segoe UI';
text-decoration: none;
}
</style>
<rect class="fil0" x="2" y="2" width="3174" height="517" fill="black"/>
<rect x="150" y="129" width="122" height="122" fill="#F35325"/>
<rect x="284" y="129" width="122" height="122" fill="#81BC06"/>
<rect x="150" y="263" width="122" height="122" fill="#05A6F0"/>
<rect x="284" y="263" width="122" height="122" fill="#FFBA08"/>
<text x="470" y="357" fill="white" class="fnt0">Sign in with Microsoft</text>
</svg>
</a>
这一切正常,直到登录方法完成,然后网站将我发送回我使用的任何登录网址。
<forms name="SSO" loginUrl="/sso/index" defaultUrl="~/Home/Index" slidingExpiration="true" protection="All" timeout="120" />
我仍然可以通过从 Index 调用 SignIn 方法来访问 Microsoft 登录页面,但遗憾的是这不是解决方案。我的下一个问题是,当我进入 Microsoft 登录页面(通过从 Index 调用 SignIn)时,它只是说“我们无法让您登录。请再试一次。” 我已经确认 cookie 是由微软创建的!Request.IsAuthenticated 始终为 false,在测试项目中并非如此。请告诉我需要共享哪些代码才能解决此问题。
解决方案
推荐阅读
- ios - 向导航栏添加渐变将隐藏 iOS 13.0 + 中的栏按钮项目
- javascript - 将渲染反应到字符串
- javascript - Liveware.emit 在全局 javascript 中不起作用
- exception - 处理应用程序中的异常
- vaadin - Vaadin 14 主题 - 使用“包含”
- amazon-web-services - 等效于 AWS 的自定义脚本扩展
- javascript - 反应 - 更新(componentdidupdate)
- linux - 使用 CA 签名证书(不是自签名证书)在本地网络上启用 ssl
- angular - 订阅主题的返回值如何返回服务
- flutter - 如何将中心的 TabBarView 移动到页面顶部?