【问题标题】:OpenId auth with AngularJS and MVC, with token cookie带有 AngularJS 和 MVC 的 OpenId 身份验证,带有令牌 cookie
【发布时间】:2015-03-04 08:00:36
【问题描述】:

我更希望确认我这样做是对还是错。这是场景:

我在ASP.NET MVC 应用程序中托管AngularJS 应用程序。使用 MVC 部分,我与IdentityServer 通信以登录,一旦我这样做,我从OWINOpenIdConnect 验证通知中获取access_token,并创建一个带有它的值的Cookie,然后我得到在 AngularJS$cookieStore 对象中用于我的请求。

诚然,安全性是迄今为止我最薄弱的环节,所以我的问题是上述场景是否安全,或者我是否违反了某种安全规则,从而允许有人发现安全漏洞?

【问题讨论】:

    标签: angularjs asp.net-mvc-4 security cookies thinktecture-ident-server


    【解决方案1】:

    您的问题有点难以回答,因为我们无法确认您将来会做什么。一般来说,你是在正确的道路上,但安全是很难的,所以你应该知道什么时候让别人去做。

    IdentityServer v3 是一个很好的开始。

    查看示例,特别是此处的 JavaScriptImplicitClient: https://github.com/thinktecture/Thinktecture.IdentityServer.v3.Samples/tree/26293649324783cd5c6bbfe0dbb9e83c6df826fc/source/Clients

    这里还有一篇关于 Angular 和 WebAPI 的好文章: http://www.codeproject.com/Articles/784106/AngularJS-Token-Authentication-using-ASP-NET-Web-A

    玩得开心!

    【讨论】:

    • 我将使用令牌并使用 webapi svc。但我担心将访问令牌存储在 cookie 中是否会与 idsrv3 的所有安全措施产生反作用。
    • 我不是 Angular 专家,但由于 cookie 应该是 httponly(JS 无法读取),所以我会使用 SessionStorage 客户端。这就是我(或者更确切地说是我的前端开发人员)在以前的工作中所做的。这也是 Thinktecture 示例中使用的内容。
    猜你喜欢
    • 2021-10-30
    • 1970-01-01
    • 2018-07-01
    • 2011-02-15
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 2019-01-08
    相关资源
    最近更新 更多