Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将GoogleOAuth约束到特定的GoogleApps域_Java_Google Oauth_Google Apps For Education - Fatal编程技术网

Java 如何将GoogleOAuth约束到特定的GoogleApps域

Java 如何将GoogleOAuth约束到特定的GoogleApps域,java,google-oauth,google-apps-for-education,Java,Google Oauth,Google Apps For Education,我有一个Java web应用程序,它使用GoogleOAuth进行身份验证(使用此API:),并且运行良好。然而,我需要一种方法,只允许来自某个教育领域的谷歌应用程序的用户,例如mike@wdu.edu.ng能够使用谷歌的OAuth访问该应用程序。如何执行此操作???在授权请求中使用参数hd=将用户发送到Google(通过修改buildLoginUrl),以跳过帐户选择器屏幕,并在返回时,检查从Google返回的声明是否包含在getUserInfoJson中具有值的hd声明,以强制执行访问要求,

我有一个Java web应用程序,它使用GoogleOAuth进行身份验证(使用此API:),并且运行良好。然而,我需要一种方法,只允许来自某个教育领域的谷歌应用程序的用户,例如mike@wdu.edu.ng能够使用谷歌的OAuth访问该应用程序。如何执行此操作???

在授权请求中使用参数
hd=
将用户发送到Google(通过修改buildLoginUrl),以跳过帐户选择器屏幕,并在返回时,检查从Google返回的声明是否包含在getUserInfoJson中具有值的
hd
声明,以强制执行访问要求

,感谢您的提示。它导致了我实现的解决方案:公共字符串buildLoginUrl(){final GoogleAuthorizationCodeRequestUrl url=flow.newAuthorizationUrl();return url.setRedirectUri(CALLBACK_URI).setState(getStateToken()).set(“hd”,“domain.com”).build();}是否可以将其约束到多个域?一个由coma分隔的域列表(字符串)可以工作吗?据我所知,这是不可行的,否则你只能从授权请求中省略hd参数,并依赖于为域选择部分弹出的帐户选择器屏幕;请注意,您将不得不对getUserInfoJson强制执行实际限制。无论如何,任何请求参数的添加都只是一个UX操作,不具有任何安全目的。抱歉,但我无法理解传递hd的意义=当Google返回响应时是否必须再次检查它?不管你们是否传递了hd参数,Google都会返回hd值。