Open zkitefly opened 9 months ago
有没有可以让key失效的api? 可以搞个“退出登录(使key失效)” 就算忘了退如果能使key失效也是可以的 (目前只发现修改密码会退)
有没有可以让key失效的api? 可以搞个“退出登录(使key失效)” 就算忘了退如果能使key失效也是可以的 (目前只发现修改密码会退)
没有吧 如果有的话,access token 泄漏就没有那么可怕了
有没有可以让key失效的api? 可以搞个“退出登录(使key失效)” 就算忘了退如果能使key失效也是可以的 (目前只发现修改密码会退)
退出前重申请key,但不保存(直接丢弃)?
有没有可以让key失效的api? 可以搞个“退出登录(使key失效)” 就算忘了退如果能使key失效也是可以的 (目前只发现修改密码会退)
有的。https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols-oidc#send-a-sign-out-request
还有你们都说的什么乱七八糟的,临时登录就不应该请求refresh token,谁家风控会ban成功登录的正常用户??就算你的逻辑是这么nt巨硬也不会,implicit grant本来就没有refresh token需要多次登录,oauth协议都不清楚就来瞎咧咧
这会导致频繁的重新登录的,根据 Microsoft 官方文档来看,
accessToken
默认生命周期在 60~90 分钟内,平均为 75 分钟,如果不保存refreshToken
会频繁需要重新登录,而且很可能会触发 Microsoft 官方的风险控制机制导致别的问题 引用:
@FunnyShadow 我不知道你有什么开发经验,我想请问你是从哪里看出来access token过期之后重新请求登录会被风控的,还是说你的参考文献就是大学生选修课论文里拿来凑数的?
请求登录本来就是必要的安全要求,是保证hmcl必须要在用户监督授权下才能访问数据,我想问临时登录要refresh token干嘛?巨硬会傻到因为这个封禁你?除了这么做没有更方便的办法保证用户隐私和安全,请问巨硬为何堵上这条路?找骂?(虽然骂也不少了)
这东西写起来也不难,记录一下过期时间,过期了没有refresh token就要求登录,添加一个登出,按照我上面给的文档,改不了几行代码。
应该说,为了这么点破事吵这么多,诸位不看文档瞎咧咧能力真强,这完全是一个不错的功能建议。
虽说Minecraft不像Steam上的游戏有盗号风险,但网吧那种环境,懂的都懂,这个功能很有必要
反对 @8MiYile ,我们保存的是微软账户token,权限scope是整个xbox而不是只有mc,你只是不玩Xbox才无所谓...
这会导致频繁的重新登录的,根据 Microsoft 官方文档来看,
accessToken
默认生命周期在 60~90 分钟内,平均为 75 分钟,如果不保存refreshToken
会频繁需要重新登录,而且很可能会触发 Microsoft 官方的风险控制机制导致别的问题 引用:@FunnyShadow 我不知道你有什么开发经验,我想请问你是从哪里看出来access token过期之后重新请求登录会被风控的,还是说你的参考文献就是大学生选修课论文里拿来凑数的?
请求登录本来就是必要的安全要求,是保证hmcl必须要在用户监督授权下才能访问数据,我想问临时登录要refresh token干嘛?巨硬会傻到因为这个封禁你?除了这么做没有更方便的办法保证用户隐私和安全,请问巨硬为何堵上这条路?找骂?(虽然骂也不少了)
就是说,有没有一种可能,我说了频繁二字? 有人频繁调用你 API 你不对它进行一定限制,所有人都来使劲调你 API,得了,成 DDoS 了 就这 GitHub 你 API 调用频繁了还会给你来 ratelimit,你微软登录 API 就没了? 哥们你没试过我可试过太多了,我们之前做微软 Azure 号的时候,这种账号成天被封,新号老号你调多了别的条件再可疑点直接翻车,你隔着儿跟我讲这个?
请两位稍微冷静冷静…… 这里是 GitHub,不是给你们互骂的。指出错误可以,但请不要使用侮辱性称呼……
这会导致频繁的重新登录的,根据 Microsoft 官方文档来看,
accessToken
默认生命周期在 60~90 分钟内,平均为 75 分钟,如果不保存refreshToken
会频繁需要重新登录,而且很可能会触发 Microsoft 官方的风险控制机制导致别的问题 引用:@FunnyShadow 我不知道你有什么开发经验,我想请问你是从哪里看出来access token过期之后重新请求登录会被风控的,还是说你的参考文献就是大学生选修课论文里拿来凑数的? 请求登录本来就是必要的安全要求,是保证hmcl必须要在用户监督授权下才能访问数据,我想问临时登录要refresh token干嘛?巨硬会傻到因为这个封禁你?除了这么做没有更方便的办法保证用户隐私和安全,请问巨硬为何堵上这条路?找骂?(虽然骂也不少了)
就是说,有没有一种可能,我说了频繁二字? 有人频繁调用你 API 你不对它进行一定限制,所有人都来使劲调你 API,得了,成 DDoS 了 就这 GitHub 你 API 调用频繁了还会给你来 ratelimit,你微软登录 API 就没了? 哥们你没试过我可试过太多了,我们之前做微软 Azure 号的时候,这种账号成天被封,新号老号你调多了别的条件再可疑点直接翻车,你隔着儿跟我讲这个?
每小时调用一次如何定义为频繁?你的登录服务一个小时只能完成一次请求吗?请注意我说的实现是要把现在不检查过期时间的小bug修了的前提下说的
不知道你们的序列化怎么做的,过期时间long搞成double了……
先把这个修了吧, @FunnyShadow 请注意这是HMCL的bug,而不是不能登录
请两位稍微冷静冷静…… 这里是 GitHub,不是给你们互骂的。指出错误可以,但请不要使用侮辱性称呼……
我承认我前面语言太过激了,很抱歉,昨天晚上没睡好早上起的又很早,看见这个真的很心烦(尤其是本来这 issue 和我就没啥关系,对方对我语言又有些激烈的情况下)
这会导致频繁的重新登录的,根据 Microsoft 官方文档来看,
accessToken
默认生命周期在 60~90 分钟内,平均为 75 分钟,如果不保存refreshToken
会频繁需要重新登录,而且很可能会触发 Microsoft 官方的风险控制机制导致别的问题 引用:@FunnyShadow 我不知道你有什么开发经验,我想请问你是从哪里看出来access token过期之后重新请求登录会被风控的,还是说你的参考文献就是大学生选修课论文里拿来凑数的? 请求登录本来就是必要的安全要求,是保证hmcl必须要在用户监督授权下才能访问数据,我想问临时登录要refresh token干嘛?巨硬会傻到因为这个封禁你?除了这么做没有更方便的办法保证用户隐私和安全,请问巨硬为何堵上这条路?找骂?(虽然骂也不少了)
就是说,有没有一种可能,我说了频繁二字? 有人频繁调用你 API 你不对它进行一定限制,所有人都来使劲调你 API,得了,成 DDoS 了 就这 GitHub 你 API 调用频繁了还会给你来 ratelimit,你微软登录 API 就没了? 哥们你没试过我可试过太多了,我们之前做微软 Azure 号的时候,这种账号成天被封,新号老号你调多了别的条件再可疑点直接翻车,你隔着儿跟我讲这个?
每小时调用一次如何定义为频繁?你的登录服务一个小时只能完成一次请求吗?请注意我说的实现是要把现在不检查过期时间的小bug修了的前提下说的
我不确定 HMCL 以及本 Issue 目前的情况以及目的是什么
按照我的理解,本 Issue 的核心目的在于不存储 refreshToken
或者 accessToken
,仅将其用于本次启动游戏时登录,也就是说,如果重启一下 HMCL 就会导致登录失效
同时,HMCL 在默认情况下启动后是自动关闭窗口或进程的,也就是说,如果有一个玩家现在别人的电脑上,需要临时登录,同时也需要频繁重启游戏客户端,且不论其复杂程度,就请求数量这一点便算是频繁了罢?
虽然这种情况不属于常规情况,但也不属于一个很不常见的情况,我认为这应当算入用户预期行为
按照我的理解,本 Issue 的核心目的在于不存储
refreshToken
或者accessToken
,仅将其用于本次启动游戏时登录
你的理解是错的,access token一个小时后就会过期,所以其实可以保存,实在介意可以选择在ms那里logout
也就是说,如果有一个玩家现在别人的电脑上,需要临时登录,同时也需要频繁重启游戏客户端,且不论其复杂程度,就请求数量这一点便算是频繁了罢? 虽然这种情况不属于常规情况,但也不属于一个很不常见的情况,我认为这应当算入用户预期行为
绷,你手速多块才能达到rate limit?
RT,当勾选时,不保存 refreshToken,当第二次启动 HMCL 时就会弹出弹窗要求重新登录,这样可以以防账户被盗?
我不觉得我的理解有任何问题,原文里面就这么说的
同时 ratelimit 是一段时间内的累计总值,一般时间在 5~30 分钟之间动态变化,而且 ratelimit 的值也是动态变化的 而且风控系统这种东西判断条件很多,又不止是 ratelimit 这一条,如果你的 IP 地址本身就存在风险,这种限制可能会变得极为严格,再加上国内特殊的环境,部分玩家都会使用梯子来登录正版,异地频繁登录这一条直接就是高危风险,你怎么能确保不被风控?
如果你执意抬杠我觉得这讨论也没啥必要了,无论我给出什么证据你都会杠回来 而且此 Issue 也差不多快该结束了吧?HMCL 开发者那边也算是表示过了这东西不会做或者没法实现了,你可以自己去前面的 comment 里面翻一翻,黄鱼和 Glavo 都已经说过相关的事情了
如果你执意抬杠我觉得这讨论也没啥必要了,无论我给出什么证据你都会杠回来 而且此 Issue 也差不多快该结束了吧?HMCL 开发者那边也算是表示过了这东西不会做或者没法实现了,你可以自己去前面的 comment 里面翻一翻,黄鱼和 Glavo 都已经说过相关的事情了
可以实现,issue的原话不一定是最终功能,而且频繁登录这个错误前提是谁提出来的我有点健忘记不清了
算了,感觉这功能是真的没意思,谁想做自己参考吧 https://github.com/zly2006/HMCL/tree/temporary-login
描述 | Description
RT,当勾选时,不保存
refreshToken
,当第二次启动 HMCL 时就会弹出弹窗要求重新登录,这样可以以防账户被盗?但缺点也如此,第二次启动 HMCL 时,登录微软账户阶段会使用
refreshToken
刷新accessToken
,无论accessToken
是否过期,这个可能需要优化下?原因 | Reason
这样可以以防账户被盗?