首页 > 解决方案 > 在服务堆栈中创建 Google 登录身份验证

问题描述

我知道服务堆栈提供了一个插件来合并谷歌登录,但我们使用的是旧版本的服务堆栈,所以我们自己创建流程。我们有一个自定义的 CredentialsAuthProvider,我们根据需要覆盖 TryAuthenticate 和其他方法。

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

但是我面临一个问题,它一直未能通过验证,因为我传递了一个空字符串作为密码,而且我想告诉我的 TryAuthenticate 方法这个请求来自 OAuth,就像一个布尔值?

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

标签: servicestackservicestack-razor

解决方案


TryAuthenticate仅在尝试创建 custom 时存在CredentialsAuthProvider,对于创建自定义 OAuth Provider 您应该继承GoogleAuthProvider或其OAuth2Provider基类。


推荐阅读