我正在尝试使用 Spring 社交核心插件编写一个 grails 插件。我得到提供程序弹出窗口,在我输入用户名和密码后它给了我 404。当我调试代码时,它进入 SpringSocialProviderSignInController handleSignIn() 方法并且它没有得到任何注册 url。在 grails 插件中,这是代码片段
if (userIds.size() == 0) {
if (log.isDebugEnabled()) {
log.debug("No user found in the repository, creating a new one...")
}
ProviderSignInAttempt signInAttempt = new ProviderSignInAttempt(connection, connectionFactoryLocator, usersConnectionRepository)
request.setAttribute(ProviderSignInAttempt.SESSION_ATTRIBUTE, signInAttempt, RequestAttributes.SCOPE_SESSION)
//TODO: Document this setting
result = request.session.ss_oauth_redirect_on_signIn_attempt ?: config.page.handleSignIn
}
我看到即使在常规的春季社交网络 jar 中,这也有类似的逻辑。除了在 web 中,signupUrl 上有一个默认设置。我尝试在 config.page.handleSignIn 中给出相同的值(/signup),但没有帮助。
if (userIds.size() == 0) {
ProviderSignInAttempt signInAttempt = new ProviderSignInAttempt(connection, connectionFactoryLocator, usersConnectionRepository);
request.setAttribute(ProviderSignInAttempt.SESSION_ATTRIBUTE, signInAttempt, RequestAttributes.SCOPE_SESSION);
return redirect(signUpUrl);
}
一般来说,我试图了解这个 signUpUrl 的作用。在此之后我无法更进一步。是否必须提供signUpUrl?我的理解是否定的。
在春季社交论坛上问过同样的问题,但没有得到任何回应。在这里碰碰运气。