summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2011-05-31 10:44:35 -0400
committerDavid Zeuthen <davidz@redhat.com>2011-05-31 10:44:35 -0400
commitfdba6fdf6c44a83f433697d90c79c21d9c5e72aa (patch)
treed047d73f325abcd4ff03294007b874e86de1ea7b
parentcbbcd748c1a1cdc1292509c80012bc285659476e (diff)
Make it possible to enable/disable + configure API keys on a per-service basis
Signed-off-by: David Zeuthen <davidz@redhat.com>
-rw-r--r--configure.ac93
-rw-r--r--src/goabackend/goafacebookprovider.c4
-rw-r--r--src/goabackend/goagoogleprovider.c4
-rw-r--r--src/goabackend/goaprovider.c13
-rw-r--r--src/goabackend/goatwitterprovider.c4
-rw-r--r--src/goabackend/goayahooprovider.c4
6 files changed, 110 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac
index 6a3a915..b3002c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -65,6 +65,90 @@ AC_SUBST(REST_LIBS)
GOBJECT_INTROSPECTION_CHECK([0.6.2])
+# service providers
+#
+
+# Google
+with_google_consumer_key=anonymous
+AC_ARG_WITH([google-consumer-key=KEY],
+ [AS_HELP_STRING([--with-google-consumer-key],
+ [Google OAuth 1.0 consumer key (anonymous)])],
+ [],
+ [])
+AC_DEFINE_UNQUOTED(GOA_GOOGLE_CONSUMER_KEY, ["$with_google_consumer_key"], [Google OAuth 1.0 consumer key])
+with_google_consumer_secret=anonymous
+AC_ARG_WITH([google-consumer-secret=SECRET],
+ [AS_HELP_STRING([--with-google-consumer-secret],
+ [Google OAuth 1.0 consumer secret (anonymous)])],
+ [],
+ [])
+AC_DEFINE_UNQUOTED(GOA_GOOGLE_CONSUMER_SECRET, ["$with_google_consumer_secret"], [Google OAuth 1.0 consumer secret])
+AC_ARG_ENABLE([google], [AS_HELP_STRING([--enable-google], [Enable Google provider])], [], [enable_google=yes])
+if test "$enable_google" != "no"; then
+ AC_DEFINE(GOA_GOOGLE_ENABLED, 1, [Enable Google data provider])
+fi
+
+# Twitter
+with_twitter_consumer_key=tlVEAXvkgqr0VUFyqVQ
+AC_ARG_WITH([twitter-consumer-key=KEY],
+ [AS_HELP_STRING([--with-twitter-consumer-key],
+ [Twitter OAuth 1.0 consumer key])],
+ [],
+ [])
+AC_DEFINE_UNQUOTED(GOA_TWITTER_CONSUMER_KEY, ["$with_twitter_consumer_key"], [Twitter OAuth 1.0 consumer key])
+with_twitter_consumer_secret=RN2FBARWy7scDmWFwfhIA6Qwf6kPYxZ0PIpVWzgpdU
+AC_ARG_WITH([twitter-consumer-secret=SECRET],
+ [AS_HELP_STRING([--with-twitter-consumer-secret],
+ [Twitter OAuth 1.0 consumer secret])],
+ [],
+ [])
+AC_DEFINE_UNQUOTED(GOA_TWITTER_CONSUMER_SECRET, ["$with_twitter_consumer_secret"], [Twitter OAuth 1.0 consumer secret])
+AC_ARG_ENABLE([twitter], [AS_HELP_STRING([--enable-twitter], [Enable Twitter provider])], [], [enable_twitter=yes])
+if test "$enable_twitter" != "no"; then
+ AC_DEFINE(GOA_TWITTER_ENABLED, 1, [Enable Twitter data provider])
+fi
+
+# Yahoo
+with_yahoo_consumer_key=dj0yJmk9VnBYMGpGRVFBUVl3JmQ9WVdrOWNWZDZiVTUwTldNbWNHbzlPVFF5TURrNE5UWXkmcz1jb25zdW1lcnNlY3JldCZ4PTQ0
+AC_ARG_WITH([yahoo-consumer-key=KEY],
+ [AS_HELP_STRING([--with-yahoo-consumer-key],
+ [Yahoo OAuth 1.0 consumer key])],
+ [],
+ [])
+AC_DEFINE_UNQUOTED(GOA_YAHOO_CONSUMER_KEY, ["$with_yahoo_consumer_key"], [Yahoo OAuth 1.0 consumer key])
+with_yahoo_consumer_secret=33dd9ebe9f5724deabe657eff1de7c3f151cf7eb
+AC_ARG_WITH([yahoo-consumer-secret=SECRET],
+ [AS_HELP_STRING([--with-yahoo-consumer-secret],
+ [Yahoo OAuth 1.0 consumer secret])],
+ [],
+ [])
+AC_DEFINE_UNQUOTED(GOA_YAHOO_CONSUMER_SECRET, ["$with_yahoo_consumer_secret"], [Yahoo OAuth 1.0 consumer secret])
+AC_ARG_ENABLE([yahoo], [AS_HELP_STRING([--enable-yahoo], [Enable Yahoo provider])], [], [enable_yahoo=yes])
+if test "$enable_yahoo" != "no"; then
+ AC_DEFINE(GOA_YAHOO_ENABLED, 1, [Enable Yahoo data provider])
+fi
+
+# Facebook
+with_facebook_client_id=103995033022129
+AC_ARG_WITH([facebook-client-id=ID],
+ [AS_HELP_STRING([--with-facebook-client-id],
+ [Facebook OAuth 2.0 client id])],
+ [],
+ [])
+AC_DEFINE_UNQUOTED(GOA_FACEBOOK_CLIENT_ID, ["$with_facebook_client_id"], [Facebook OAuth 2.0 client id])
+with_facebook_client_secret=c3a9f8d49188a6dd8b596df48a90b94a
+AC_ARG_WITH([facebook-client-secret=SECRET],
+ [AS_HELP_STRING([--with-facebook-client-secret],
+ [Facebook OAuth 2.0 client secret])],
+ [],
+ [])
+AC_DEFINE_UNQUOTED(GOA_FACEBOOK_CLIENT_SECRET, ["$with_facebook_client_secret"], [Facebook OAuth 2.0 client secret])
+AC_ARG_ENABLE([facebook], [AS_HELP_STRING([--enable-facebook], [Enable Facebook provider])], [], [enable_facebook=yes])
+if test "$enable_facebook" != "no"; then
+ AC_DEFINE(GOA_FACEBOOK_ENABLED, 1, [Enable Facebook data provider])
+fi
+
+
# Internationalization
#
@@ -102,8 +186,8 @@ doc/version.xml
dnl ==========================================================================
echo "
- goa $VERSION
- =============
+ gnome-online-accounts $VERSION
+ ===============================
prefix: ${prefix}
libdir: ${libdir}
@@ -119,6 +203,11 @@ echo "
cppflags: ${CPPFLAGS}
introspection: ${found_introspection}
+ Google provider: ${enable_google} (OAuth 1.0, key:${with_google_consumer_key} secret:${with_google_consumer_secret})
+ Twitter provider: ${enable_twitter} (OAuth 1.0, key:${with_twitter_consumer_key} secret:${with_twitter_consumer_secret})
+ Yahoo provider: ${enable_yahoo} (OAuth 1.0, key:${with_yahoo_consumer_key} secret:${with_yahoo_consumer_secret})
+ Facebook provider: ${enable_facebook} (OAuth 2.0, id:${with_facebook_client_id} secret:${with_facebook_client_secret})
+
Maintainer mode: ${USE_MAINTAINER_MODE}
Building api docs: ${enable_gtk_doc}
"
diff --git a/src/goabackend/goafacebookprovider.c b/src/goabackend/goafacebookprovider.c
index ac13e66..56a2d8b 100644
--- a/src/goabackend/goafacebookprovider.c
+++ b/src/goabackend/goafacebookprovider.c
@@ -111,13 +111,13 @@ get_scope (GoaOAuth2Provider *provider)
static const gchar *
get_client_id (GoaOAuth2Provider *provider)
{
- return "103995033022129";
+ return GOA_FACEBOOK_CLIENT_ID;
}
static const gchar *
get_client_secret (GoaOAuth2Provider *provider)
{
- return "c3a9f8d49188a6dd8b596df48a90b94a";
+ return GOA_FACEBOOK_CLIENT_SECRET;
}
/* ---------------------------------------------------------------------------------------------------- */
diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c
index 096b25b..6edf355 100644
--- a/src/goabackend/goagoogleprovider.c
+++ b/src/goabackend/goagoogleprovider.c
@@ -81,13 +81,13 @@ get_provider_name (GoaProvider *_provider,
static const gchar *
get_consumer_key (GoaOAuthProvider *provider)
{
- return "anonymous";
+ return GOA_GOOGLE_CONSUMER_KEY;
}
static const gchar *
get_consumer_secret (GoaOAuthProvider *provider)
{
- return "anonymous";
+ return GOA_GOOGLE_CONSUMER_SECRET;
}
static const gchar *
diff --git a/src/goabackend/goaprovider.c b/src/goabackend/goaprovider.c
index dda1da4..ab1e216 100644
--- a/src/goabackend/goaprovider.c
+++ b/src/goabackend/goaprovider.c
@@ -584,11 +584,20 @@ ensure_ep_and_builtins (void)
extension_point = g_io_extension_point_register (GOA_PROVIDER_EXTENSION_POINT_NAME);
g_io_extension_point_set_required_type (extension_point, GOA_TYPE_PROVIDER);
+#ifdef GOA_GOOGLE_ENABLED
type = GOA_TYPE_GOOGLE_PROVIDER;
- type = GOA_TYPE_FACEBOOK_PROVIDER;
+#endif
+#ifdef GOA_YAHOO_ENABLED
type = GOA_TYPE_YAHOO_PROVIDER;
+#endif
+#ifdef GOA_TWITTER_ENABLED
type = GOA_TYPE_TWITTER_PROVIDER;
- type = type; /* for -Wunused-but-set-variable */
+#endif
+#ifdef GOA_FACEBOOK_ENABLED
+ type = GOA_TYPE_FACEBOOK_PROVIDER;
+#endif
+
+ type = type; /* silence -Wunused-but-set-variable */
g_once_init_leave (&once_init_value, 1);
}
diff --git a/src/goabackend/goatwitterprovider.c b/src/goabackend/goatwitterprovider.c
index 018f97d..8808375 100644
--- a/src/goabackend/goatwitterprovider.c
+++ b/src/goabackend/goatwitterprovider.c
@@ -81,13 +81,13 @@ get_provider_name (GoaProvider *_provider,
static const gchar *
get_consumer_key (GoaOAuthProvider *provider)
{
- return "tlVEAXvkgqr0VUFyqVQ";
+ return GOA_TWITTER_CONSUMER_KEY;
}
static const gchar *
get_consumer_secret (GoaOAuthProvider *provider)
{
- return "RN2FBARWy7scDmWFwfhIA6Qwf6kPYxZ0PIpVWzgpdU";
+ return GOA_TWITTER_CONSUMER_SECRET;
}
static const gchar *
diff --git a/src/goabackend/goayahooprovider.c b/src/goabackend/goayahooprovider.c
index f5e58a4..ba7471f 100644
--- a/src/goabackend/goayahooprovider.c
+++ b/src/goabackend/goayahooprovider.c
@@ -81,13 +81,13 @@ get_provider_name (GoaProvider *_provider,
static const gchar *
get_consumer_key (GoaOAuthProvider *provider)
{
- return "dj0yJmk9VnBYMGpGRVFBUVl3JmQ9WVdrOWNWZDZiVTUwTldNbWNHbzlPVFF5TURrNE5UWXkmcz1jb25zdW1lcnNlY3JldCZ4PTQ0";
+ return GOA_YAHOO_CONSUMER_KEY;
}
static const gchar *
get_consumer_secret (GoaOAuthProvider *provider)
{
- return "33dd9ebe9f5724deabe657eff1de7c3f151cf7eb";
+ return GOA_YAHOO_CONSUMER_SECRET;
}
static const gchar *