修改
似乎keycloack为Google提供了SSO和更多功能。因此,我最终只使用了keycloack,而没有让他实现google
这个问题有点笼统,不涉及任何特定语言。很抱歉,如果这个问题看起来有点愚蠢。
我正在尝试使用openid connect协议构建一些API服务,因此在这种情况下,这意味着我只需要授权我的用户进行API访问(他们将检查token_access是否有效)。
但是,为此必须首先从其他层(如前端)进行身份验证。我将使用Keycloack。
我的问题是:当人们第一次使用Google,Twitter等进行SSO时。我是否也应该将用户的电子邮件地址作为字段(在设计上是唯一的)反映给用户,以便为他们提供由密钥被生成的令牌。这些API会依次要求keycloak服务对令牌进行内部检查,并检查其是否在范围内以及令牌是否有效。
我在这里迷路了,因为那意味着我将需要创建一些没有密码字段的帐户。那些使用keycloak创建帐户的用户将使用自己的密码,但是出于明显的安全原因,来自google和twitter的用户不能使用。当然,我可以根据电子邮件占用量生成一个。但这是一个好习惯吗?
我没有看到其他解决方案。同时,我不知道如何让用户访问我的API端点而没有这种“ hack”,即使他们将通过前端接口间接使用它也是如此。有想法吗?
谢谢