1

皆さん、

初めて Facebook ソーシャル インテグレーションを使用しています。Spring.io サンプルから関連するコード ファイルを取得し、それを使用して最小限の「Facebook を使用した認証」アプリケーションを構築していました。

「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}" />

social-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を使用してログインに成功した後、ユーザーは現在行われている「サインイン」ではなく「サインアップ」にリダイレクトされる必要があります。任意の入力をいただければ幸いです。

4

0 に答える 0