我会尝试解释我的问题:
我想允许用户通过他们自己的帐户(登录/密码)或通过社交网络(Facebook首先)连接到我的api。
然后,我允许任何应用程序使用我的api,并对用户进行身份验证。
我第一次想到通过他/她的登录名/密码授权用户并返回用作下次请求的会话的令牌。
但OAuth似乎是更好的实现,除了我不知道如何做到这一点:
- 我的一个应用程序必须通过登录/密码连接,如twitter web(如果我的用户不能登录,我必须在某处实现登录/密码验证:p)
- 我是否还必须将我的应用程序注册到oauth系统(twitter是否将他们的网络应用程序添加到他们的oauth?)
- 如何通过其他社交网络合并auth。具体而言,用户必须将OAuth发送到我的api,该api将授权给社交网络。
我对如何做到这一点有点失落,如果有人可以帮助我,我真的很感激!
由于
更新1 :
Flickr和Lastfm似乎不使用OAuth,而是使用类似的替代身份验证系统:
- 用户被重定向到Flickr / Lastfm
- 用户授权自己并接受使用该应用程序
- Flickr / Lastfm使用临时frob(用于flickr)或令牌(用于lastfm)返回回调网址
- 应用程序必须使用临时frob / token调用提供程序(与api_key和api_sig一样),并返回会话令牌以用于下次调用。
更新2 :
事实上,StackApps是我的问题的具体案例:您可以通过他们的登录/密码系统或openId登录,并且您可以使用他们的API。