在GAE中,用户何时可能没有ID

时间:2015-01-18 15:10:33

标签: google-app-engine go

我正在使用goGAE构建一个网络应用。我想使用Google帐户进行身份验证。 appengine/user包中包含类型User。我计划使用ID User属性作为Datastore中后代实体的祖先。但是,我对本部分文档中的注释感到困惑:

type User struct {
    Email      string
    AuthDomain string
    Admin      bool

    // ID is the unique permanent ID of the user.
    // It is populated if the Email is associated
    // with a Google account, or empty otherwise.
    ID string

    FederatedIdentity string
    FederatedProvider string
}

来源:https://cloud.google.com/appengine/docs/go/users/reference#User

在什么情况下,电子邮件可能与Google帐户无关,因此ID为空?

我对goGAE非常陌生,所以请原谅我的无知。

1 个答案:

答案 0 :(得分:0)

电子邮件和身份证之间存在几个主要差异。例如。 “即使用户更改了帐户的电子邮件地址,该应用也可以访问唯一标识用户的用户ID。”此外,“每个用户对所有App Engine应用程序都具有相同的用户ID。”

就像ThunderCat所说的那样,如果你使用联合登录(OpenID是唯一支持的,但不再支持),那么你将无法获得用户ID。

有关详细信息,请参阅the docs