我的应用程序的Twitter api授权
Twitter api authorization of my application
我正在使用这个twitter api库,到目前为止一切都很好。我的问题(好吧,这不是一个真正的问题,更像是一个用户体验)是,每次你想登录推特时,你都需要打开一个弹出窗口。
现在的流程是:
- 用户点击我页面上带有twitter标志的登录
- Javascript引发的弹出窗口显示了twitter Oauth的内容。若你们登录了,它只显示登录和取消。如果不是,它有登录字段
- 如果一切都很好,它会转到我提供的回调url。做了很多事情然后
- 我打电话给window.opener,传递经过身份验证的信息,然后关闭窗口
这非常容易实现,而且效果非常好。我想知道twiter登录过程是否可以更像facebooks,也就是这样。
- 用户点击我页面上带有twitter标志的登录
- 如果用户登录并自动授权了应用程序,弹出窗口将立即弹出并将用户数据放回我的页面
我确实意识到我正在为twitter使用php库,facebook流来自javascript端,但我想知道我是否可以用php检测用户是否已经允许该应用程序并已登录,以便他们绕过额外的登录/取消点击。
尝试使用;使用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。
希望这符合要求,对你有用。
我曾经在Facebook API上遇到过同样的问题,但通过检查API生成的cookie,查看其中是否有可能在用户登录时提供提示的条目,使其正常工作。我不确定Twitter的情况,但就Facebook而言,cookie的存在意味着用户已经登录了当前应用程序。由于它们都使用Auth,因此可能使用相同的过程。但我当然只是猜测。最好自己看看,确认一下。
顺便提一下,这个问题很好+1
- Twitter API在jQuery AJAX中设置授权头
- Visual Studio Team Services Rest API未授权的客户端错误
- 授权客户端JS API调用Google'的具有现有访问令牌的gap库
- 如何在带有JQuery的Neo4j 2.2.x中使用事务Cypher HTTP端点和新的REST API身份验证和授权
- 使用JavaScript的Google API授权
- 允许公共创建操作风险的 API 授权
- Google Analytics API OAuth 2.0 授权,不带弹出窗口
- 使用 Meteor HTTP 在 Spotify API 上请求access_token时不受支持的授权类型错误
- 如何在更少的 SQL 查询中执行复杂的 API 授权
- 如何在本地主机上授权必应翻译 API
- REST API:基于用户代理的客户端(应用)授权
- 如何限制API只能访问使用Express.js的授权域
- Google Analytics API-分析属性授权
- Facebook JS API上的评论权限错误,尽管我有授权
- Google API客户端ID不是't授权
- 使用Google日历API返回401(未经授权)
- Javascript中Amazon Api授权中的SHA-1
- IE9中LinkedIn Javascript API授权失败
- Google API:授权的JavaScript起源
- 我的应用程序的Twitter api授权