首页 文章

MVC WebAPI主动身份验证

提问于
浏览
1

我正在编写多个客户端应用程序(iPhone / android / windows phone),这些应用程序将调用Azure ACS安全的mvc webapi控制器(对于首字母缩略词汤而言) .

使用WIF(嗯,.net 4.5)可以直接保护webapi,我可以毫无问题地被动登录 .

我还创建了一个POC iPhone应用程序,它使用Web浏览器让用户对azure AD IP进行身份验证,然后使用指南here我可以获得一个javascript令牌 .

现在我想下一步是在Web控制器上使用JSON Web Token Handler,我应该能够提取数据 .

但是我可以将令牌存储多长时间?我是否应该尝试使用webapi endpoints ,如果它被拒绝,请让用户重新进行身份验证,或者无论如何设置令牌以使其永不过期,或者在几个月后过期?

谢谢

罗斯

1 回答

  • 0

    AFAIK,ACS将JWT令牌的生命周期限制为24小时(这不是JWT约束 - 它是ACS的约束);之后你必须更新它 . 长时间存储安全令牌通常不是一个好主意,因为用户可能已停用或其声明可能已更改 . 您可以通过查看安全令牌的"exp"成员来了解令牌何时到期 . 您将从ACS收到的安全令牌是BASE64编码的 . 如果有2到3个部分用点分隔 . 如果您解码令牌,那么令牌的第二部分将为您提供"exp"成员 . Microsoft已在https://github.com/WindowsAzure-Toolkits/wa-toolkit-ios为ios提供了工具包 . (android等工具包也存在) .

相关问题