【问题标题】:Handling Token From URI AngularJS and Web API处理来自 URI AngularJS 和 Web API 的令牌
【发布时间】:2017-11-27 21:46:09
【问题描述】:

我知道令牌身份验证和 OAUTH 的示例有很多,但我无法理解任何适合我的需求。

我创建了一个 AngularJS/Web API 应用程序,它使用 Web API 调用以某些形式显示来自数据库的数据。我们公司有一个身份验证门户,一旦您登录,如果您可以访问应用程序,它将重定向到应用程序 URL,并带有额外的数据,例如 token、login_id 等。我不打算注册或我的应用程序中的登录页面。我只是想使用重定向 URL 来使用提供的令牌对用户进行身份验证。我需要打一些额外的电话来了解额外的权利。

用户被重定向到我的 URL 并带有以下形式的附加参数:

https://myserver.com/?data=AOSTOKEN_1_5:XXXXXXXXX&logonId=XXXXX&badAttempts=0&passwordExpireMs=1517223840000&version=1&changePassword=false&country=US&css=&js=&language=en&limited=null&x=31&y=4&staticId=123456789&faceStaticId=null

我的直觉是我需要为我的 Web API 创建一个路由(我正在使用 MVC System.Web.Routing 来处理路由管理)来处理这些数据,但我不知道这将如何与AngularJS 视图。我能找到的最接近的例子来自here,但我不会使用数据库或任何东西。我知道这是一个模糊的问题,但任何帮助都会很棒!

【问题讨论】:

  • 您使用的是哪个角度路由器?您可以将会话存储在您的应用中的服务器上吗?
  • @charlietfl 这是一个很好的观点,我没有提出。我实际上坚持使用作为 MVC 一部分的 System.Web.Routing。我会更新我的问题以反映这一点。我可以在这台服务器上做任何我想做的事,但不确定存储它们的方式/含义。
  • 只是不确定是否需要验证从 Angular 应用发出的所有请求。应该很容易使用 MVC 来确保用户在显示 Angular 应用程序之前已登录(并根据需要重定向到登录)。真的不确定您的并发症具体在哪里

标签: angularjs asp.net-web-api oauth token


【解决方案1】:

我能够使用我的 MVC 应用程序的 HomeController.cs 文件进行一些准身份验证。我可以通过添加一些参数来解析主方法(或任何其他视图的方法)中的查询字符串数据。

对于这个例子,我将我的 Index 方法修改为:

public ActionResult Index(string data, string logonID, string badAttempts, string passwordExpireMs, string staticId, string faceStaticId, string version)
{
     //Handle null data, validate token data, and redirect if unauthorized.
}

【讨论】:

    猜你喜欢
    • 2017-03-10
    • 1970-01-01
    • 2018-02-19
    • 2015-05-26
    • 2014-06-15
    • 1970-01-01
    • 2020-10-17
    • 2015-08-26
    • 1970-01-01
    相关资源
    最近更新 更多