如何使用facebook auth保护wcf服务?

时间:2012-12-24 15:05:27

标签: facebook wcf security authentication oauth

我正在构建移动应用程序(使用PhoneGap / Cordova)。 为了使用我的应用程序,客户端必须通过Facebook进行身份验证。

我想使用facebook auth机制来保护我的wcf服务。我正在考虑使用它:

首次注册:

  1. 客户登入facebook并获取访问令牌
  2. 客户端将其访问令牌发送到我的wcf服务
  3. 在我的服务中,我扩展访问令牌(以获取长期存在的令牌),并将其存储在DB中,并为新成员创建新记录
  4. 我使用扩展令牌和成员ID
  5. 向客户端发送响应
  6. 客户端将令牌和成员ID存储在其移动设备中
  7. 当客户进入申请时:

    1. 客户重定向到faceebok
    2. 如果facebook验证失败(可能是由于各种原因),他会重新授权我的申请。
    3. Facebook使用新令牌将客户端重定向回我的应用程序
    4. 如果未更改令牌(与设备中存储的令牌相比),请中断。
    5. 客户端向我的wcf服务发送旧令牌+新令牌
    6. wcf将收到的旧令牌与db中存储的令牌(使用成员ID)进行比较以识别客户端,如果不相等则引发异常。
    7. 在我的服务中,我扩展了访问令牌(以获取长期存在的令牌),并将其存储在数据库中
    8. 我使用扩展令牌
    9. 向客户发送回复
    10. 客户端使用移动设备中的新令牌覆盖旧令牌
    11. 对于我的移动应用程序到我的wcf服务的每个请求:

      1. 客户端发送请求,它传递的第一个参数是他存储在设备中的facebook令牌。第二个参数是成员ID。
      2. wcf将收到的令牌与db中存储的令牌(使用成员ID)进行比较以识别客户端,如果不相等则引发异常。
      3. 处理请求
      4. 为了得出结论,我使用facebook标记来识别客户端。此外,我可以使用SSL在网络级别进行保护。这是一个好方法吗?谢谢你的帮助。

0 个答案:

没有答案