773 Star 1.5K Fork 351

开源中国 / Gitee Feedback

 / 详情

呵呵

结束任务
Task
创建于  
2017-09-24 13:03
暂无描述。

评论 (14)

webkb 创建了任务
webkb 更新了任务
webkb 更新了任务
webkb 更新了任务
webkb 更新了任务
Yashin 指派了任务给frech

@pinecode 没看太懂哟~

OpenAPI就是创建第三方应用获取access_token的

你们的系统要获取access_token在get https://gitee.com/oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&response_type=code 的时候会配置权限,这一步要当前client_id的用户登陆gitee来确认,如果当前登陆用户不是client_id的用户,按说应该有提示的,并且不应该生成access_token。但是没有任何提示,而且还生成了access_token,这是不对的,当然了access_token也没法用,不是什么大问题。
我正好有两个账号,当时在测试的时候正好弄错了,结果生成了access_token却怎么都不能用,折腾了半天,一度放弃了你们的系统。后来才发现登陆账号错了,如果有提示的话就好了。

@pinecode client_id是第三方应用的client_id,跟谁登陆没有关系。而且就应该生成access_token。而且access_token应该是可用的。哪个用户登陆授权后就可以请求该用户相关的东西。

请认真研究一下oauth2协议。

呵呵呵呵呵呵
那为什么没有登陆要登陆呢?
为什么其他用户登陆不需要取人呢?
为什么生成的access_token不能呢?
请认真对待你们的bug。
再这样的态度我就不来反馈了。

webkb 关闭了任务
webkb 更新了任务
webkb 更新了任务

问题内容被改掉了?

这一步要当前client_id的用户登陆gitee来确认,如果当前登陆用户不是client_id的用户,按说应该有提示的,并且不应该生成access_token

你的意思是,如果 gitee 用户在第三方应用里没有注册,gitee 就不应该返回 access_token 给第三方应用?

@liu gitee这个东西就是半半半成品,到处都是坑,我捡了其中一个坑说,却是越说越糊涂了。因为文档上说是oauth2认证,但gitee根本没有遵照oauth2协议。
第一次发送请求的时候,如果需要确认权限,应该把这个当参数传送过去,而不是,发送请求之后选择权限。
第二发送请求后,应该获取到结果以便接下处理,但gitee这货来了重定向,你只能在浏览器里打开,然后手动选择权限,手动确认后再返回到你的回调页面。
第三,既然在浏览器里打开,还需要当前用户登陆,如果没有用户登陆就会提示你登陆,如果正好是创建第三方应用的用户登陆,那么一切顺利,如果是其他用户登陆,那么这个页面就会一闪而过,不要你确认权限,然后还生成了一个不能用的 access_token
可以说gitee在每一步走错了,我这是顺着他的错误往下说,第三个错误恰好被我遇到了。
现在gitee上这个对自己的产品是如何设计的根本就不清楚,也没按我说的去测试。还挺自信的。

第一次发送请求的时候,如果需要确认权限,应该把这个当参数传送过去

把这个当参数?“这个”是什么?

但gitee这货来了重定向,你只能在浏览器里打开,然后手动选择权限,手动确认后再返回到你的回调页面。

这个看上去没什么问题,之前我用微信、GitHub、QQ登录貌似都是这套路,让用户在浏览器端授权。

如果是其他用户登陆,那么这个页面就会一闪而过,不要你确认权限

其他用户是指?有gitee账户但没有在第三应用里注册的用户?

页面一闪而过,这效果怎么感觉像是已经授权过了就直接返回了?

@Pinexy 抱歉给您带来不便,这个问题我们会按您提供的步骤再确认一下,用户提供反馈对我们而言是很宝贵的贡献。抱歉我们同事可能让您误解了。 @frech @liu 这个问题我来确认

Yashin 指派了任务给Yashin
Yashin 重新打开了任务
webkb 更新了任务

好像是我弄错了 抱歉!

@Pinexy 没事,您的反馈也是为了让码云更好。如果能分享一下细节让更多的人避免这个坑,或者让我们知道如何引导用户避免这个坑被更多的人踩就更好了 :grin:

Yashin 关闭了任务

@Yashin 这个不好说,github的api我也看了,他们是用用户名密码来调用的,不涉及第三方应用,详细的我也不知道,gitee的叫第三方应用我是一开始不承认的,以为只给自己用,仔细看了下第三方用户默认调用user_info的权限,大概是我没想到是这样的。

@pinecode 所以说让你先好好研究一下oauth2协议。不看文档也可以看看阮一峰的 理解OAuth 2.0
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

github的api我也看了,他们是用用户名密码来调用的,不涉及第三方应用,详细的我也不知道,gitee的叫第三方应用我是一开始不承认的

请查看github的文档
https://developer.github.com/apps/building-integrations/setting-up-and-registering-oauth-apps/about-authorization-options-for-oauth-apps/

另外,获取access_token 我们目前支持授权码模式和密码模式

具体请查看我们的文档

https://gitee.com/api/v5/oauth_doc#list_2

诺墨 任务状态已完成 修改为已验收
诺墨 将工作项从 任务 迁移到 Task
诺墨 任务类型任务 修改为Task
诺墨 任务状态已验收 修改为结束任务

登录 后才可以发表评论

状态
负责人
项目
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(5)
905323 frech 1578935509 878385 webkb 1578934668 568 lc soft 1586692424 977337 issues 1578937361 58426 yashin 1578915792
Ruby
1
https://gitee.com/oschina/git-osc.git
git@gitee.com:oschina/git-osc.git
oschina
git-osc
Gitee Feedback

搜索帮助