春季社交Facebook |在身份验证后重定向到登录页面

时间:2015-05-30 09:11:02

标签: facebook spring spring-social spring-social-facebook

民间,

我第一次使用Facebook Social Integration。我从Spring.io样本中获取相关代码文件,并使用它构建一个极简主义的“使用Facebook验证”应用程序。

点击“登录Uisng FB”按钮后,我可以打开FB页面。输入我的凭证(有效)后,我再次被重定向到登录页面(/ signin)。我期待的是被重定向到'/ signup',这是没有发生的。我希望使用FB数据为用户创建一个影子帐户。

这是我的配置。

的security.xml

<http auto-config="true">
    <form-login login-page="/signin" login-processing-url="/signin/authenticate" authentication-failure-url="/signin?param.error=bad_credentials" />
        <!-- intercept-url pattern="/admin**" access="ROLE_USER" /-->
        <!--  Spring Social Security authentication filter -->
        <intercept-url pattern="/signup/**" access="ROLE_ANONYMOUS" />
        <custom-filter ref="socialAuthenticationFilter" before="PRE_AUTH_FILTER" />
    </http>

    <authentication-manager alias="authenticationManager">
        <authentication-provider>
            <user-service>
                <user name="vais" password="123456" authorities="ROLE_USER" />
            </user-service>
        </authentication-provider>
    </authentication-manager>
<beans:bean id="textEncryptor" class="org.springframework.security.crypto.encrypt.Encryptors"
        factory-method="noOpText" />

    <beans:bean id="passwordEncoder" class="org.springframework.security.crypto.password.NoOpPasswordEncoder"
        factory-method="getInstance" />
</beans:beans>

Social.xml

<context:property-placeholder location="classpath:/config/application.properties" />

    <facebook:config app-id="${facebook.clientId}" app-secret="${facebook.clientSecret}" app-namespace="socialshowcase" />
    <jdbc:embedded-database id="dataSource" type="H2">

    </jdbc:embedded-database>

    <social:jdbc-connection-repository/>    
    <bean id="userIdSource" class="org.springframework.social.security.AuthenticationNameUserIdSource" />

    <bean id="connectController" class="org.springframework.social.connect.web.ConnectController" autowire="constructor">

    </bean>

    <bean id="signInAdapter" class="com.mkyong.web.controller.SimpleSignInAdapter" autowire="constructor" />

    <bean id="disconnectController" class="org.springframework.social.facebook.web.DisconnectController" 
        c:_0-ref="usersConnectionRepository" c:_1="${facebook.clientSecret}" />

社交security.xml文件

<bean id="socialAuthenticationFilter" class="org.springframework.social.security.SocialAuthenticationFilter"
        c:_0-ref="authenticationManager"
        c:_1-ref="userIdSource"
        c:_2-ref="usersConnectionRepository"
        c:_3-ref="connectionFactoryLocator"
        p:signupUrl="/signup"
         /> <!-- TODO: Figure out how to wire this without this name -->

以下是我在JSP中尝试和设置FB登录的方法:

<!-- FACEBOOK SIGNIN -->
    <p><a href="<c:url value="/auth/facebook"/>"><img src="<c:url value="/resources/social/facebook/sign-in-with-facebook.png"/>" border="0"/></a><br/></p>

我希望在使用Facebook成功登录后,用户应该被重定向到'注册'而不是现在正在发生的'signin'。 非常感谢任何投入。

0 个答案:

没有答案