C# OAuth-防止多个用户使用相同的凭据

C# OAuth-防止多个用户使用相同的凭据,c#,oauth,oauth-2.0,C#,Oauth,Oauth 2.0,场景:我正在创建一个使用OAuth进行身份验证的应用程序,我想尝试限制一个用户与同事共享其凭据(我们按座位收费)。我能想到的唯一方法是使用令牌存储IP(尽管我知道来自单个客户端的多个用户可能在同一IP上) 在OAuth中有这样做的标准方法吗?不是通过任何特定于OAuth的特性。从办公室或家中登录的有效用户将具有不同的IP地址。您如何将其与拥有其他用户凭据的其他用户区分开来 我认为实现这一点的唯一方法是需要双因素身份验证。你的用户不太可能准备分享他们的手机来使用你的应用程序 只要确保您的应用程序增

场景:我正在创建一个使用OAuth进行身份验证的应用程序,我想尝试限制一个用户与同事共享其凭据(我们按座位收费)。我能想到的唯一方法是使用令牌存储IP(尽管我知道来自单个客户端的多个用户可能在同一IP上)


在OAuth中有这样做的标准方法吗?

不是通过任何特定于OAuth的特性。从办公室或家中登录的有效用户将具有不同的IP地址。您如何将其与拥有其他用户凭据的其他用户区分开来

我认为实现这一点的唯一方法是需要双因素身份验证。你的用户不太可能准备分享他们的手机来使用你的应用程序


只要确保您的应用程序增加了足够的价值,您的用户将需要自己的帐户,而不是共享凭据。

我正在考虑按用户和IP地址限制他们的API请求(与OAuth无关),这不会完全停止凭证共享,但会使许多使用相同凭证的并发用户无法/无法使用凭证共享。有趣的是,Spotify非常擅长一次将其音乐流限制为一个用户,可能是通过IP,我不确定。我想,通过用户和IP地址进行限制可能会使共享凭据变得更加困难,但如果您的网站很受欢迎,您将遇到有效用户被限制。我认为2FA在您的情况下更有意义。我们销售B2B,因此凭证共享不太可能发生。但是,是的,甚至B2B解决方案在某个时候也需要对此进行协商。