RT 。 不使用统一数据库的情况下,怎么几个网站用一个账号登录。
我能想到的就是 oauth2.0 。 还有其他简单的方法吗???
1
oisc 2017-01-09 21:50:39 +08:00
ucenter 够简单了吧
|
2
icedx 2017-01-09 21:53:38 +08:00 via Android
oauth2.0 正解
|
3
caixiexin 2017-01-09 21:54:43 +08:00 via Android
自己写一个基于缓存的统一认证服务也不麻烦。
|
4
loading 2017-01-09 22:02:14 +08:00 via Android
openid ,不知道现在如何了。
|
5
loading 2017-01-09 22:02:39 +08:00 via Android
本质都是 oauth
|
8
bjtugun 2017-01-09 22:15:10 +08:00 1
jwt?
|
9
caixiexin 2017-01-09 22:25:52 +08:00 via Android
@Kilerd 就是传统的那种单点登录系统,登录后颁发票据,跨系统跳转就交换票据,所有敏感数据的接口必须携带这个票据。各平台服务端通过拦截器机制到认证服务那边校验票据。
后端单独写一个服务来作为各平台提供登录、票据认证,只有用户数据要存数据库,登录票据直接用 Redis 等缓存维护。 耶鲁大学那个 CAS 就是这类系统的极致,但是个人用太大了。自己用的话,照着这种模式写个简单的就行了,就几个接口。 当然最简单的还是用 openID 或 OAuth 。 |
10
falcon05 2017-01-09 22:41:24 +08:00 via iPhone
ucenter 确实是最简单的方法
|
11
lan894734188 2017-01-10 00:30:31 +08:00 via Android
oauth
|
12
Showfom 2017-01-10 04:50:23 +08:00
sso
|
13
shiny 2017-01-10 05:21:15 +08:00 via iPhone
六年前就已经满大街单点登录的讨论了吧?
|
14
Kilerd OP @Showfom 感觉 SSO 实现起来跟 oauth 差不多吧。就是把一些获取 token 的过程无感化了。
不过 SSO 个人感觉存在一个问题。当用户打开一个新的网站时 :“咦,怎么自动登录了”, 会给人一种不靠谱的节奏。 |
15
nfroot 2017-01-10 09:04:29 +08:00
|
16
Kilerd OP @nfroot 其实对于 oauth 来说,也算是无感吧。
点击“登录” -> oauth 服务器记录已经登录了----302---> 返回源站。 对于用户来说,点击登录就好了,什么都不用填(当然了,第一次要允许授权。如果应用全是自己家做的,感觉授权的按钮都可以去掉了,毕竟是互相信任的) 弄个简化版的 oauth 体验应该会比 sso 好。 |
18
forblackking 2017-01-10 09:39:20 +08:00 via Android
可能不是很符合要求,手里一个 yubikey ,登录自己网站通过 u2f 认证,可以用第三方 API 或自己实现 不过就用不到账号了
|
19
alect 2017-01-10 10:05:23 +08:00
@forblackking 你这么说的话倒是还有一种方法简单些,统一颁发证书登录呗
|
21
wdrsam 2017-01-10 10:49:49 +08:00
单点登录呗,存 token 到 redis 上。
|
22
alect 2017-01-10 11:05:41 +08:00
|
23
ivydom 2019-10-10 16:46:16 +08:00
可以用 Authing,OAuth 2.0 的实现方。
在线体验:sample*authing*cn |