OAuth 2.0 生成的 ID 密钥怎么给第三方对接?

2019-10-16 11:39:32 +08:00
 bayker

部署了一个 Oauth2.0。但实际使用的时候,我生成 ID 密钥后,怎么给对接方呢? QQ,邮件 但感觉都不对,这样颁发者(我)也知道了他们的 ID,密钥。

这完全是不可信,可靠的方式啊。 请问大家是用什么方式呢?

2467 次点击
所在节点    问与答
26 条回复
zhaishunqi
2019-10-16 13:20:01 +08:00
上帝视角?
haoz1w0w
2019-10-16 13:21:41 +08:00
让他们生成啊
j2gg0s
2019-10-16 13:28:22 +08:00
bayker
2019-10-16 13:40:06 +08:00
@zhaishunqi ?? 是我对 oauth2.0 理解有误?请指明
bayker
2019-10-16 13:40:52 +08:00
@haoz1w0w 第三方可以自己生成 id 密钥对,来调用我的认证?
lovedebug
2019-10-16 13:44:28 +08:00
建议楼主看一下流程。你是要 oauth 别人比如你允许 qq 登录你的网站,还是要提供 oauth 服务,比如你网站的账户可以登录其他网站呢
bayker
2019-10-16 14:07:42 +08:00
@lovedebug 我是想保护我的 API 接口
lovedebug
2019-10-16 14:12:12 +08:00
那你需要提供一个接口让用户调你的 api 生成 token,他们自己负责保存。
CRUD
2019-10-16 14:14:23 +08:00
搞个注册的页面让他们自己注册
bayker
2019-10-16 14:20:10 +08:00
@CRUD 我想的也是让他们自己注册。或者提供一个登陆后,修改自己的密钥界面。
bayker
2019-10-16 14:21:30 +08:00
@lovedebug 我的意思是,他们调用 API 生成 TOKEN 的时候,使用的密钥。 怎么给他们,这个密钥应该除了他们自己,其他人都不应该知道,包括颁发者(我)。
littleylv
2019-10-16 14:25:30 +08:00
appID 和 appSecret 不应该是你给他们哦,是你提供一个页面,他们去注册,生成。全程你都不要参与的
littleylv
2019-10-16 14:26:57 +08:00
但是要说你不知道是不可能的,因为这个是会存到你的数据库的 [滑稽
lovedebug
2019-10-16 14:29:18 +08:00
他们把公钥填写在你这里,你可以用公钥验证他们,他们自己有私钥可以验证你。
popvlovs
2019-10-16 14:43:22 +08:00
Github 的 OAuth 你用过么?和你的场景几乎一样,你可以参考一下 https://github.com/settings/applications/new。AppId 和 AppSecret 是自动生成的,用户自己持有
popvlovs
2019-10-16 14:46:08 +08:00
这个 ID 和密钥因为你签发的,你当然需要知道,不然怎么校验防止冒充呢?我在想你是不是把用户的 Username Password Credential 和 AppId、AppSecret 弄混了...
popvlovs
2019-10-16 14:50:16 +08:00
你只需要保证 AppId、AppSecret 不被你和用户之外的第三方知道就可以了
bayker
2019-10-16 15:04:53 +08:00
@popvlovs 额,好的。我去了解下。 我理解的是,Oauth 认证简单模式只需要 Clientid 就行了,密码模式只需要告诉第三方 clientid 和 Password 就行了。还需要 appid,appsecret ?还是说 是同一个东西,只是叫法不一样?
momocraft
2019-10-16 15:10:19 +08:00
建议先把 oauth rfc 看一遍,至少看 1.1
bayker
2019-10-16 15:12:05 +08:00
@momocraft 你觉得我是哪里理解有误或者没理解到?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/609838

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX