V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yushiro
V2EX  ›  程序员

谁做过sina 微博的oauth登录?

  •  
  •   yushiro · 2013-05-14 19:49:12 +08:00 · 4718 次点击
    这是一个创建于 3990 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在遇到个问题, 有一个网站需要用到sina的微博帐号登录, 同时该网站也提供Android手机版本, 在手机上也支持sina帐号登录。
    但是在申请app的时候, 需要配置callback地址, 网站的callback与android上的callback是不一样的,导致sina的回调出错, 好像是403错误
    请问各位如何解决这个问题的?
    第 1 条附言  ·  2013-05-14 21:26:13 +08:00
    多谢各位的参与讨论, 刚才又试了一下, 解决问题了。
    sina开发文档建议手机端 app的callback设置为https://api.weibo.com/oauth2/default.html
    太相信文档了, 所以造成之前的困惑。

    其实在我这种情况下, 完全可以手机端与网页端用同一个appid, callback地址也是同一个, 并不是手机端的callback“必须”要用“https://api.weibo.com/oauth2/default.html”
    12 条回复    1970-01-01 08:00:00 +08:00
    twm
        1
    twm  
       2013-05-14 20:23:28 +08:00 via iPhone
    申请多个
    yushiro
        2
    yushiro  
    OP
       2013-05-14 20:38:58 +08:00
    @twm 申请多个appid, 会造成同一微博帐号, 在web端和android端变成2个不同的帐号。
    linuz
        3
    linuz  
       2013-05-14 20:41:48 +08:00
    @yushiro 能贴下什么错误吗?
    alsotang
        4
    alsotang  
       2013-05-14 20:44:41 +08:00
    我去看了看文档,貌似这个 callback 地址确实一个 App 只能设置一个诶。
    alsotang
        5
    alsotang  
       2013-05-14 20:45:13 +08:00
    romotc
        6
    romotc  
       2013-05-14 20:50:08 +08:00
    @yushiro 回调的时候会传给你weibo用户的Id,根据这个判断就可以了。
    chemzqm
        7
    chemzqm  
       2013-05-14 20:52:58 +08:00
    最简单的办法:弄成一个callback,后台判断客户端进行重定向就是了
    alexrezit
        8
    alexrezit  
       2013-05-14 21:00:31 +08:00
    Client 上判断 redirect 啊, 多简单.
    yushiro
        9
    yushiro  
    OP
       2013-05-14 21:17:43 +08:00
    @chemzqm
    @alexrezit
    手机端的callback地址, 开发文档上说, 要设置为https://api.weibo.com/oauth2/default.html
    没法设置成同一个website的callback, 手机无法被互联网访问。
    yushiro
        10
    yushiro  
    OP
       2013-05-14 21:24:10 +08:00
    @linuz 错误是url_redirect_mismatch
    linuz
        11
    linuz  
       2013-05-14 21:27:21 +08:00
    @yushiro 手机上的可以和web上的一样,只有display参数有区别
    joyqi
        12
    joyqi  
       2013-05-14 21:27:26 +08:00   ❤️ 1
    同一个callback url可以带参数,比如你写一个callback url:http://callback/path-to-you,然后又想适配手机,可以在手机上把callback url写成:http://callback/path-to-you?type=mobile。这是合法的,然后你单独对type=mobile的情况做处理
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1511 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:12 · PVG 01:12 · LAX 10:12 · JFK 13:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.