iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
rogwan
V2EX  ›  iDev

关于 “Sign in with Apple” 安全漏洞的疑问

  •  
  •   rogwan · May 31, 2020 via iPhone · 5131 views
    This topic created in 2188 days ago, the information mentioned may be changed or developed.
    苹果承认这个漏洞并给报告者 10 万美金奖励,证实了漏洞的存在和严重性。

    有两个疑问:
    1 、 “Sign in with Apple” 符合 oath2.0 标准吗?
    2 、苹果发出的 jwt 令牌没有过期时间吗?(按理说有过期时间应该就不用再次验证吧?)

    > 通过“Sign in with Apple”验证用户的时候,服务器会包含秘密信息的 JSON Web Token ( JWT ),第三方应用会使用 JWT 来确认登录用户的身份。Bhavuk 发现,虽然苹果公司在发起请求之前要求用户先登录到自己的苹果账户,但在下一步的验证服务器上,它并没有验证是否是同一个人在请求 JSON Web Token(JWT)。
    4 replies    2020-07-30 12:22:17 +08:00
    hellomsg
        2
    hellomsg  
       Jul 30, 2020
    jwt 有过期时间。对 Oath 不是很深入了解,个人认为苹果设计的这些验证步骤是为了检测 jwt 是否是伪造的或是被篡改了,是 app 业务方做的安全检测,最终目的是为了减少虚假注册?
    hellomsg
        3
    hellomsg  
       Jul 30, 2020
    我还有个疑问,苹果的 `refreshToken` 和 `access tokens` 是干嘛用的?文中说“which you use to obtain access tokens with future calls”,但是他也没有提供其他接口需要这个 `access tokens` 用来获取用户信息。

    > Obtain a Refresh Token
    After verifying the identity token on your server, call the Generate and Validate Tokens endpoint with the client_id, client_secret, and nonce information.

    On success, the server issues a refresh token, which you use to obtain access tokens with future calls. You may verify the refresh token up to once a day to confirm that the user’s Apple ID on that device is still in good standing with Apple’s servers. Apple’s servers may throttle your call if you attempt to verify a user’s Apple ID more than once a day.

    If any step of the token verification fails, direct your app to fetch a new identity token for the user. Obtaining a new identity token on the device requires user interaction.
    hellomsg
        4
    hellomsg  
       Jul 30, 2020
    这个漏洞是在说 email 用户可以随便写会有安全隐患吗?但是对于一个可以随便写的 email,app 方会使用这个邮箱来创建帐号,并允许使用这个邮箱登录?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1158 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 18:01 · PVG 02:01 · LAX 11:01 · JFK 14:01
    ♥ Do have faith in what you're doing.