3

我有许多使用Microsoft MVC4 Web Api创建的Web服务,并使用WS-Fed使用WIF和Windows Azure Active Directory(WAAD)进行保护。是否有一个JavaScript库来获取Windows Azure Active Directory的认证令牌

我也有一个纯粹的HTML5/Javascript单页面应用程序(SPA)客户端需要访问这些web api的。

存在任何已知的样品/在JavaScript库处理与WAAD的相互作用

  • 确定用户是否已经登录。
  • 登录的用户,如果需要
  • 获得安全令牌
  • 交互完成后注销。

如果不是,是否有推荐链接到实现类似的文件所需的文档。

+0

有一个使用OAuth 2.0进行身份验证的JavaScript库,没有任何关于ACS的知识。 – letsc 2013-05-13 16:00:59

回答

3

页面(SPA)是否来自API所在的同一服务器? (相同的域?)如果是这样的话,那么一切都应该“只是工作”。

WAAD不参与知道用户是否登录。这应该通常取决于您的网站。但是,令牌过期确实起到了一定的作用,如果提供的令牌被API拒绝,您将不得不像往常一样重新验证用户身份。

如果这些API位于不同的站点上,但具有相同的高级别域(app.yoursite.com和api.yoursite.com),则仍然可以设置cookie并在下面使用WIF。确保您在两个站点上都设置了相同的机器密钥。

如果这些API位于完全不同的域上,那么您必须使用不同的方法。我的建议通常是使用Json Web Tokens(JWT)和CORS。

我认为如果您在WAAD实例中配置ACS名称空间,WAAD可以为您提供JWT。看一看this document,它描述了使用JWT来保护WebAPI的过程(它不是特定于WAAD,但机制是相同的)。

+0

是否有可能只使用Javascript的JWT和CORS方法? – BMH 2014-01-16 11:05:16

+0

是的,这是可能的。这篇文章可能会有所帮助:http://blog.auth0.com/2014/01/07/angularjs-authentication-with-cookies-vs-token/ – 2014-01-16 15:57:06

+0

自2014年建立以来,在这个空间内有什么东西被修理过?是否有可能使用纯JavaScript进行认证 – 2014-05-07 19:30:15

相关问题