V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lwyj123
V2EX  ›  程序员

如果我希望统一账号系统该如何做?

  •  
  •   lwyj123 · 2017-12-23 20:56:03 +08:00 · 3821 次点击
    这是一个创建于 2544 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,现在在重构一个应用,希望能把账号部分抽离出来,以后的几个项目都公用一个账号体系。 并且希望一些共有信息能被共享而且能被各个应用修改,比如昵称,电话。 而且是跨平台的,不单单是 Web 应用。

    求问这个应该怎么架构?看了 OAuth,CAS,SSO,现在一头雾水,哪个大佬能指点一下。

    11 条回复    2017-12-24 22:00:03 +08:00
    loading
        1
    loading  
       2017-12-23 21:02:24 +08:00 via Android
    openid ?
    zjsxwc
        2
    zjsxwc  
       2017-12-23 21:43:54 +08:00 via Android
    oauth 是 sso 的一种实现标准
    cas 是个 java 实现 sso 的项目
    我们也可以自己造自己独有的 sso 鉴权方式,比如粗暴直接地用 rsa 非对称加密实现
    580a388da131
        3
    580a388da131  
       2017-12-23 22:59:37 +08:00
    这不好回答啊,你需要学习单点登录原理。
    guog
        4
    guog  
       2017-12-23 23:02:40 +08:00 via Android
    LDAP ?
    dangyuluo
        5
    dangyuluo  
       2017-12-24 00:11:09 +08:00
    OAuth 算是比较好理解和实现的饿了
    Miy4mori
        6
    Miy4mori  
       2017-12-24 07:26:28 +08:00
    1、设计一套 sso 系统。2、将旧业务改造适配 sso 系统。
    dong3580
        7
    dong3580  
       2017-12-24 08:37:03 +08:00 via Android
    内部自己的做一套 SSO,对外部第三方做一套 oauth
    lwyj123
        8
    lwyj123  
    OP
       2017-12-24 10:36:04 +08:00
    @Miy4mori 我的理解 SSO 是不是不适合跨平台?
    chengs
        9
    chengs  
       2017-12-24 19:08:36 +08:00
    @lwyj123 什么鬼。你不能先查查 sso 是做什么用的?
    lwyj123
        10
    lwyj123  
    OP
       2017-12-24 19:27:59 +08:00
    @chengs sso 用于在一个公司内部多个应用共享登录状态,然而它的实现是基于父域 cookie 共享的,尽管有跨域的解决方案能让其不一定要在同一个父域下。然而如果我有 Android 应用,这个解决方案也没法让我账号系统统一。

    我问这个问题前至少做了基础的了解。
    dorentus
        11
    dorentus  
       2017-12-24 22:00:03 +08:00 via iPhone
    @lwyj123 sso 并没有规定实现方式
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2994 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:46 · PVG 19:46 · LAX 03:46 · JFK 06:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.