我正在设置一个新的支持OAuth的移动应用程序和身份验证服务。问题是:该应用程序只能同时在1个设备上使用。
例如,像Spotify一样-您只能同时在一台设备上播放音乐。
我在以下位置看到了有关OAuth设备流程的文档: https://www.oauth.com/oauth2-servers/device-flow/。 但这适用于没有浏览器或输入文字的简便方法的设备。
所以我正在考虑创建这样的request参数:
https://authorization-server.com/auth?response_type=code
&client_id=29352735982374239857
&redirect_uri=https://example-app.com/callback
&device_code=NGU5OWFiNjQ5YmQwNGY3YTdmZTEyNzQ3YzQ1YSA
&scope=create+delete
因此device_id可以包含在令牌有效负载中(我正在使用JWT)。资源服务器可以在处理请求之前检查每位用户可用的设备。
如何达到此要求的标准流程? 是否可以通过对有效负载实施令牌验证来实现此设备验证? 还是客户端必须在对资源服务器的每个请求中都包含device_id?