我正在考虑在Google App Engine中使用OAuth2和Go
这是一个例子的链接:
https://developers.google.com/appengine/docs/go/users/#Go_OAuth_in_Go
但这句话对我来说并不清楚:
Note that using OAuth to identify your users is completely orthogonal to the
standard user authentication modes. For example, pages marked with
login: required or login: admin will refuse to load if the user is
only authenticated via OAuth.
这是否意味着我无法在OAuth中使用标准身份验证模式?
我可以使用其他提供商(如Facebook)和用户包吗?
或者使用此软件包而不是默认用户软件包更好吗?
https://code.google.com/p/goauth2/
使用它有缺点吗?
(我只需要它进行身份验证)
答案 0 :(得分:1)
这只是意味着app.yaml / module.yaml键"登录"不会考虑通过OAuth进行身份验证的用户进行身份验证,并拒绝他们访问该资源。
例如,如果您在/ admin /创建了一个页面,并且您希望GAE强制执行只有经过身份验证的人才能访问该页面,那么您需要确保他们使用Google帐户进行身份验证,而不是OAuth登录。使用OAuth登录后访问该网址的任何人仍然会对GAE显示未经身份验证。
所有这一切意味着,如果您有网页,您只希望经过身份验证的人看到,并且您希望支持OAuth作为有效的身份验证方法,那么您需要没有"登录" .yaml文件中这些资源的密钥集。然后由您决定是否已经登录,然后才允许他们访问该资源。在这种情况下,GAE无法帮助你。