Security 是否可以使用oauth2流进行基于电子邮件的注册?

Security 是否可以使用oauth2流进行基于电子邮件的注册?,security,oauth-2.0,Security,Oauth 2.0,是否可以实现Oauth2流程,在该流程中,您可以要求用户提交一个电子邮件地址,然后向该电子邮件地址发送授权代码,而不是在重定向中使用特定的身份提供程序,然后他们单击链接以获得访问令牌 在这种情况下,如何利用状态参数来防止CSRF?此外,此设计是否还有其他安全含义?自定义授权类型()也可以。翻译:这将是您的客户机和授权服务器专有的方案。您要么自己编写大量代码,要么依赖上面链接的商业解决方案。您的客户必须理解此流程…因此您无法获取任何符合oAuth的应用程序,并期望它能与此方案一起工作 更好的选择是

是否可以实现Oauth2流程,在该流程中,您可以要求用户提交一个电子邮件地址,然后向该电子邮件地址发送授权代码,而不是在重定向中使用特定的身份提供程序,然后他们单击链接以获得访问令牌


在这种情况下,如何利用状态参数来防止CSRF?此外,此设计是否还有其他安全含义?

自定义授权类型()也可以。翻译:这将是您的客户机和授权服务器专有的方案。您要么自己编写大量代码,要么依赖上面链接的商业解决方案。您的客户必须理解此流程…因此您无法获取任何符合oAuth的应用程序,并期望它能与此方案一起工作

更好的选择是不通过电子邮件,也不需要用户输入额外的身份验证因素。取而代之的是,使用一种标准的授权类型和一个定义良好的威胁模型。建议:具有PKCE扩展名的授权码授权类型。它处理CSRF和许多其他威胁向量。有关更多详细信息,请参阅


或者,在oAuth流程完成后,您可以执行基于电子邮件的验证例行程序。

。那么,要实现PMCE,电子邮件中的链接应该包含哪些查询参数?我的第一个猜测是:响应类型=代码,代码挑战=,代码挑战方法=。但是,那么,是web浏览器中的javascript生成了challenge+verifier吗?标准oAuth流(包括有或没有PKCE的授权授予类型)不会通过断开连接的客户端,如电子邮件。您将需要一个具有接收oAuth消息的服务端点的应用程序,您将无法创建链接。