在服务堆栈中创建Google登录身份验证

时间:2020-04-08 16:14:59

标签: servicestack servicestack-razor

我知道Service Stack提供了一个插件来整合Google登录,但是我们使用的是Service Stack的旧版本,因此我们自己创建了流程。我们有一个自定义的CredentialsAuthProvider,根据需要我们可以覆盖TryAuthenticate和其他方法。

我可以从google apis获得Id令牌,但是现在我想将其传递给我们的自定义credentailsAuthProvider,它可以执行多种操作,包括创建会话并将行插入数据库。

但是我面临一个问题,因为我传递了一个空字符串作为密码,并且我想告诉我的TryAuthenticate方法这个请求是像布尔值一样来自OAuth的,所以它始终无法通过验证?

是否可以在没有密码的情况下点击TryAuthenticate?另外,这是在服务堆栈中进行Google身份验证的正确方法吗?

1 个答案:

答案 0 :(得分:1)

TryAuthenticate仅在尝试创建自定义CredentialsAuthProvider时存在,要创建自定义OAuth提供程序,您应该继承GoogleAuthProvider或其OAuth2Provider基类。