diff --git a/modules/oauth2/oauth2_common.module b/modules/oauth2/oauth2_common.module index daba50b..c294388 100644 --- a/modules/oauth2/oauth2_common.module +++ b/modules/oauth2/oauth2_common.module @@ -2,16 +2,32 @@ define('OAUTH_COMMON_VERSION_2_DRAFT', 3); - +/** + * Implements hook_menu(). + */ function oauth2_common_menu() { $items = array(); $items['oauth/authorized2'] = array( 'title' => 'Authorization finished', 'page callback' => 'oauth2_common_page_authorized', 'page arguments' => array(2), - 'access arguments' => array('access content'), + 'access callback' => 'oauth2_common_page_access', + 'access arguments' => array(2), 'file' => 'oauth2_common.pages.inc', 'type' => MENU_CALLBACK, ); return $items; } + +/** + * Page access callback for the Oauth2 authorized page. + */ +function oauth2_common_page_access($csid) { + $providers = oauthconnector_provider_load_all(); + foreach ($providers as $provider) { + if ($provider->csid == $csid && !empty($provider->name) && user_access('connect with oauthconnector_' . $provider->name)) { + return TRUE; + } + } + return FALSE; +}