1

有没有人Google Client API通过限制用户可以登录的域来使用 对他们的域进行授权的经验?

所需的 titbit 似乎是一个 qs 参数:hd='[Domain name]'

OAuth2Parameters但是参数对象中没有类似的东西

var oap = new OAuth2Parameters
{
        AccessToken = Current == null ? null : Current.AccessToken,
        RefreshToken = Current == null ? null : Current.RefreshToken,
        ClientId = GoogleClientId,
        ClientSecret = GoogleClientSecret,
        Scope = "https://spreadsheets.google.com/feeds https://docs.google.com/feeds https://www.googleapis.com/auth/userinfo.email",
        RedirectUri = HttpContext.Current.Request.Url.Scheme.Concatenate("://", HttpContext.Current.Request.Url.Authority,                                                                             "/Builder/Authentication/Receive"),
        AccessType = "offline" //ensures a refresh token (tho not currently working),
        *HD = //Hmm if only... :(((*

    };
var authorizationUrl = OAuthUtil.CreateOAuth2AuthorizationUrl(oap);

return Redirect(authorizationUrl);
4

2 回答 2

3

所以,事实上,我们只需要这样调整 url:

var authorizationUrl = OAuthUtil.CreateOAuth2AuthorizationUrl(oap);
authorizationUrl += "&hd=" + "mydomain.com".UrlEncode();
return Redirect(authorizationUrl);

希望这可以帮助某人。

于 2013-01-15T11:18:10.613 回答
0

使用hd参数。

谷歌文档

警告:此标记记录在OAuth 1.0 API 参考中。在版本 2 中没有记录但可以工作。

重要提示:OAuth 1.0 已于 2012 年 4 月 20 日正式弃用。它将根据我们的弃用政策继续有效,但我们建议您尽快迁移到 OAuth 2.0。

于 2013-09-18T12:36:02.683 回答