是否可以使用scribe自动装配OAuthService?

时间:2013-12-23 21:49:51

标签: java spring autowired scribe

我正在使用抄写员库进行OAuth登录和请求。我只使用一个API提供程序,并想知道是否可以自动装配我的OAuthService而不是每次都使用.getService()?

我已经阅读了有关如何自动装配OAuthServiceProvider以及.getService()(herehere)的博客,但在服务本身上没有任何内容。它是使用构建器在类中创建的:

    public OAuthService getOAuthService() {
        return new ServiceBuilder().provider(MyApi.class)
            .apiKey(myConsumerKey).apiSecret(mySecretKey())
            .build();
    }

理想情况下,我想在servlet-context.xml中使用这样的东西:

    <bean id="myService" class="org.scribe.model.OAuthService">
        <!-- constructor service somehow -->
    <bean>

请注意,我没有使用已包含在库中的服务提供商

1 个答案:

答案 0 :(得分:0)

我设法通过以下方式实现了这一目标:

<beans:bean id="myApiConfig" class="org.scribe.model.OAuthConfig">
    <beans:constructor-arg value="${key.access}"/>
    <beans:constructor-arg value="${key.secret}"/>
    <beans:constructor-arg value="${url.callback}"/>
    <beans:constructor-arg type="org.scribe.model.SignatureType" value="QueryString"/>
    <beans:constructor-arg value="some-permission"/>
    <beans:constructor-arg><beans:null /></beans:constructor-arg>
</beans:bean>

<beans:bean id="myApi" class="com.chartminder.app.MyApi">
</beans:bean>

<beans:bean class="org.scribe.oauth.OAuth10aServiceImpl">
    <beans:constructor-arg ref="myApiConfig"/>
    <beans:constructor-arg ref="myApi"/>
</beans:bean>