我正在实施一些 WebApi 来上传/转换/返回视频。
另一位开发人员将实施一个 PhoneGap 应用程序,该应用程序将调用我的WebApi向用户上传/转换/显示视频。
PhoneGap应用程序使用OpenId允许用户使用google和facebook登录。
我的问题是我想确保调用我的WebApi的客户端已使用google或facebook登录PhoneGap应用程序。
我知道我需要的只是客户端在请求标头中向我发送一个令牌,我可以提取"在web api上验证用户。我的问题是我的WebApi如何知道PhoneGap应用程序中openId(google / fb)生成的令牌是什么?
答案 0 :(得分:1)
嗯,我也正在搜索这个以及我到目前为止我将按照以下步骤与您分享: -
1)每当用户呼叫我的登录页面时,我将在响应头中创建令牌以确保该请求来自合法用户。就像mvc中的反伪造令牌一样。
2)然后,在成功登录后,我将创建身份验证cookie并设置当前用户上下文值,这将授权用户并生成如上所述的另一个令牌。
3)然后在此之后我将使用WEBApi提供的普通授权,角色属性。
让我知道你的想法?我非常乐意为此做出贡献。
另一种方法是当用户登录时创建一个散列令牌并将其添加到响应头并创建自定义属性,该属性获取该令牌并针对数据库进行检查。这种方法的问题在于你将一直在锤击你的数据库。