【发布时间】:2020-01-10 12:34:18
【问题描述】:
我正在创建一个 .NET 类库,它允许本地应用程序使用 API 访问在我的网站上注册的用户的帐户。我希望该库处理用户的所有身份验证,以便我创建的任何应用程序都可以简单地调用该库,并返回 API 的令牌。我不确定如何进行此身份验证。
我考虑过几种方法,但它们并不理想。第一种是简单地在库中创建一个登录表单,要求用户输入他们的登录名,然后调用 API。第二种方法是创建一个用户登录的网页,然后获得他们输入应用程序的令牌。
这种情况的理想情况是用户看不到他们的令牌,如果可能的话,实际的登录过程委托给网站。上述两种方式都会在其中一种情况下失败。
我想这样做的理想方式是从我使用的应用程序中获得灵感的,如果用户没有登录,他们必须按下“登录”按钮,这会打开他们登录的网页。一旦他们有这样做成功,应用程序会自动检测到这一点,并且他们已登录到应用程序。这个解决方案的缺点是我不知道自己该怎么做。
基本上我要问的是,第三种解决方案是否可行,我该怎么做,或者如果没有,我忽略了任何更好的解决方案。
仅供参考,网站和 API 分别运行 ASP.NET MVC 和 WebAPI,库将使用 .NET 框架。
【问题讨论】: