首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Apps Marketplace -针对Google App Engine Java应用程序的SSO

Google Apps Marketplace -针对Google App Engine Java应用程序的SSO
EN

Stack Overflow用户
提问于 2010-12-14 01:34:11
回答 2查看 818关注 0票数 3

当我的navLink在Google Apps账户的通用导航栏的“更多”部分被点击时,我并没有直接登录到我的应用程序中,而是显示了我的应用程序的登录页面。

我的应用程序市场清单:

代码语言:javascript
复制
<ApplicationManifest xmlns="http://schemas.google.com/ApplicationManifest/2009">
  <Name>App Name</Name>
  <Description>App Description</Description>

  <!-- Administrators and users will be sent to this URL for application support -->
  <Support>
    <Link rel="support" href="http://myappid.appspot.com/help.html" />
  </Support>

  <!-- Show this link in Google's universal navigation for all users -->
  <Extension id="navLink" type="link">
    <Name>Myapp Navlink Name</Name>
    <Url>http://myappid.appspot.com/ms.jsp?hd=${DOMAIN_NAME}</Url>
  </Extension>

  <!-- Declare our OpenID realm so our app is white listed -->
  <Extension id="realm" type="openIdRealm">
    <Url>http://myappid.appspot.com/</Url>
  </Extension>

</ApplicationManifest>

我的web.xml相关部分:

代码语言:javascript
复制
 <servlet>
     <servlet-name>loginJsp</servlet-name>
     <jsp-file>/login.jsp</jsp-file>
 </servlet>

 <servlet-mapping>
     <servlet-name>loginJsp</servlet-name>
     <url-pattern>/_ah/login_required</url-pattern>
 </servlet-mapping>

 <security-constraint>
  <web-resource-collection>
   <web-resource-name>ms</web-resource-name>
   <url-pattern>/ms.jsp</url-pattern>
  </web-resource-collection>
  <auth-constraint>
   <role-name>*</role-name>
  </auth-constraint>
 </security-constraint>
EN

回答 2

Stack Overflow用户

发布于 2011-05-10 20:18:13

您需要创建一个servlet来处理http://myappid.appspot.com/ms.jsp?hd=${DOMAIN_NAME}。它将获得域名并重定向到使用域名作为federatedIdentity的登录url。请参见:

http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/users/UserService.html#createLoginURL%28java.lang.String,%20java.lang.String,%20java.lang.String,%20java.util.Set%29

有了适当的federatedIdentity设置,用户将自动从谷歌应用程序登录。

票数 0
EN

Stack Overflow用户

发布于 2012-01-09 05:20:43

还有。您应该将此代码添加到application-manifest.xml中:

代码语言:javascript
复制
<Edition id="free">
    <Name>Myapp Navlink Name</Name>
    <Extension ref="navLink" />
    <Extension ref="realm" />
</Edition>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4431662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档