在 asp net 框架(webforms)中使用 microsoft api 登录

Posted

技术标签:

【中文标题】在 asp net 框架(webforms)中使用 microsoft api 登录【英文标题】:login with microsoft api in asp net framework (webforms) 【发布时间】:2021-12-20 06:49:42 【问题描述】:

我搜索了很多,但不幸的是我没有找到适合我的案例的正确答案。 我需要在我的 webform 页面中添加一个按钮以使用它来使用 microsoft 帐户登录,登录后我得到一个包含令牌和电子邮件的响应(然后我将使用它们)。 我需要做正常的方法来登录第三方(身份验证) 笔记: 我在这个项目中不使用身份。 我发现的大多数解决方案都属于 MVC,但在这个项目中我使用了 webforms。

【问题讨论】:

【参考方案1】:

好吧,如果您要使用全新的 100% 不同的登录系统,以及全新的 100% 不同的身份验证提供程序?

您别无选择 - 您必须将该身份验证提供程序添加到该 asp.net 站点。真的没有其他办法解决这个问题。

因此,您必须将 owin 添加到现有应用程序中。

这样您就可以为您的网站设置一个全新的身份验证系统。当然不是出于既成事实,而且远远超出了像 SO 这样的简单问答网站的范围。

但是有很多文章和一步一步的,例如:

https://tomasherceg.com/blog/post/modernizing-asp-net-web-forms-applications-part-2#:~:text=OWIN%20can%20be%20integrated%20with%20ASP.NET%20quite%20easily,combination%20with%20Web%20Forms%20pages%20%28or%20MVC%20controllers%29.

因此,您最终确实需要向您的网站添加身份验证。 https://docs.microsoft.com/en-us/aspnet/identity/overview/getting-started/adding-aspnet-identity-to-an-empty-or-existing-web-forms-project#:~:text=Select%20New%20Project%20from%20the%20Start%20page%2C%20or,New%20ASP.NET%20Project%20dialog%2C%20select%20the%20Empty%20template.

【讨论】:

我找到了不需要将身份添加到我的项目的解决方案?(我已将其添加为答案)。谢谢你的回答❤️【参考方案2】:

终于找到了解决办法 它适合我使用网络表单而不是 MVC 的情况 (无身份) https://docs.microsoft.com/en-us/graph/auth-v2-user

【讨论】:

以上是关于在 asp net 框架(webforms)中使用 microsoft api 登录的主要内容,如果未能解决你的问题,请参考以下文章

求asp.net webform 工作的流程

将捆绑包添加到现有的 ASP.NET Webforms 解决方案

ASP.NET MVC简单编程篇

jQuery hide 不隐藏 vb.net/asp.net webform 中的任何内容

ASP.Net WebForms + Paypal 表单

如何在同一个 Visual Studio 解决方案中设置 ASP Classic 和 ASP.NET WebForm - 用于在 ASP.NET WebForm 中重写 ASP Classic 页面