我知道Service Stack提供了一个插件来整合Google登录,但是我们使用的是Service Stack的旧版本,因此我们自己创建了流程。我们有一个自定义的CredentialsAuthProvider,根据需要我们可以覆盖TryAuthenticate和其他方法。
我可以从google apis获得Id令牌,但是现在我想将其传递给我们的自定义credentailsAuthProvider,它可以执行多种操作,包括创建会话并将行插入数据库。
但是我面临一个问题,因为我传递了一个空字符串作为密码,并且我想告诉我的TryAuthenticate方法这个请求是像布尔值一样来自OAuth的,所以它始终无法通过验证?
是否可以在没有密码的情况下点击TryAuthenticate?另外,这是在服务堆栈中进行Google身份验证的正确方法吗?
答案 0 :(得分:1)
TryAuthenticate
仅在尝试创建自定义CredentialsAuthProvider
时存在,要创建自定义OAuth提供程序,您应该继承GoogleAuthProvider
或其OAuth2Provider
基类。