package com.ibm.sbt.opensocial.domino.oauth;
import org.apache.shindig.common.servlet.Authority;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
import com.ibm.sbt.opensocial.domino.container.ContainerExtPointManager;
/**
* Provides the OAuth 1.0a store to Shindig.
*
*/
@Singleton
public class DominoOAuthStoreProvider implements Provider<InternalDominoOAuthStore> {
private static final String OAUTH_SIGNING_KEY_FILE = "shindig.signing.key-file";
private static final String OAUTH_SIGNING_KEY_NAME = "shindig.signing.key-name";
private static final String OAUTH_CALLBACK_URL = "shindig.signing.global-callback-url";
private InternalDominoOAuthStore oauthStore;
@Inject
public DominoOAuthStoreProvider(ContainerExtPointManager manager, @Named(OAUTH_SIGNING_KEY_FILE) String signingKeyFile,
@Named(OAUTH_SIGNING_KEY_NAME) String signingKeyName,
@Named(OAUTH_CALLBACK_URL) String defaultCallbackUrl,
Authority authority) {
oauthStore = new InternalDominoOAuthStore(manager, authority, defaultCallbackUrl);
}
public InternalDominoOAuthStore get() {
return oauthStore;
}
}