当我的navLink在Google Apps账户的通用导航栏的“更多”部分被点击时,我并没有直接登录到我的应用程序中,而是显示了我的应用程序的登录页面。
我的应用程序市场清单:
<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相关部分:
<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>发布于 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设置,用户将自动从谷歌应用程序登录。
发布于 2012-01-09 05:20:43
还有。您应该将此代码添加到application-manifest.xml中:
<Edition id="free">
<Name>Myapp Navlink Name</Name>
<Extension ref="navLink" />
<Extension ref="realm" />
</Edition>https://stackoverflow.com/questions/4431662
复制相似问题