我正在使用这个twitter api library,到目前为止一切都很棒。我的问题(用户体验不是真正的问题)是每次你想用twitter登录时都需要打开一个弹出窗口。
现在流程就是这样:
这非常容易实现并且效果很好。我想知道twiiter登录过程是否会像facebook那样更像。
我确实知道我正在使用一个用于推特的php库,而facebook流程来自javascript方面,但我想知道我是否可以使用php检测用户是否已经允许该应用并已登录,他们绕过额外的登录/取消点击。
答案 0 :(得分:3)
尝试使用“Sign in with Twitter”流程。如果用户已经过身份验证,则只需单击操作即可。上面链接的文档有一个流程图和流程描述,但我将列出这里的步骤(强调添加),并链接到相关的API页面:
“使用Twitter登录”是模式 允许用户的身份验证 连接他们的Twitter帐户 只需点击一下即可获得第三方服务。它利用OAuth和 虽然流量非常相似,但是 授权URL和工作流程不同 稍微如下所述。
在 正常流量决定了应用程序 将请求令牌发送到oauth/authorize 在Twitter的实施中 OAuth规范。要利用 “使用Twitter登录”, 应用程序应发送请求 在 oauth_token 中收到的令牌 参数oauth/authenticate 代替。
oauth / authenticate 方法 会以不同的方式行事 关于用户及其状态 以前与调用的交互 申请:
如果用户已登录 进入twitter.com已经 批准了呼叫申请, 用户将立即进行身份验证 并返回到回调URL。
如果 用户未登录 twitter.com已经批准了 调用应用程序,用户将 被提示登录twitter.com 然后将立即进行身份验证 并返回到回调URL。
如果 用户登录twitter.com 并且还没有批准 调用应用程序,OAuth 授权提示将是 呈现。然后授权用户 被重定向到回调URL。
- 醇>
如果 用户未登录 twitter.com并没有 批准了呼叫申请, 系统将提示用户登录 twitter.com然后将呈现 授权提示之前 重定向回回调URL。
希望这符合条款并适合您。
答案 1 :(得分:0)
我曾经遇到过与Facebook API相同的问题,但通过查看API生成的cookie来查看是否存在可能会在用户登录时提示的条目。我不确定Twitter但就Facebook而言,仅存在cookie意味着用户已登录当前应用程序。由于他们都使用Auth,他们可能会使用相同的程序。但我当然只是在猜测。最好先看看自己确认。
顺便说一下,这是个好问题。 1