Files
ROC/modules/login/cms_user_oauth_api.e
jvelilla 18732a9532 Updated Login Module.
- OAUTH LOGIN: is generic based on a new OAUTH_20_GENERIC_API
        - Storage (at the moment only SQL) for OAUTH_CONSUMER configuration.
        - OAUTH login and callback are generic.
        - Added a OAUTH_20_GENERIC_API.
        - Added scripts and templates to build the new OAUTH tables.
        - Fixed CMS_STORAGE_SQL_I.check_sql_query_validity issue.
        - Extended CMS_STORAGE_SQL_I, to execute scripts with paramerters.
        - Updated filter, now it's generic for every OAUTH consumer.
2015-06-11 10:01:36 -03:00

101 lines
2.8 KiB
Plaintext

note
description: "[
API to manage CMS User OAuth authentication.
]"
date: "$Date$"
revision: "$Revision$"
class
CMS_USER_OAUTH_API
inherit
CMS_MODULE_API
REFACTORING_HELPER
create {LOGIN_MODULE}
make_with_storage
feature {NONE} -- Initialization
make_with_storage (a_api: CMS_API; a_user_oauth_storage: CMS_USER_OAUTH_STORAGE_I)
do
user_oauth_storage := a_user_oauth_storage
make (a_api)
end
feature {CMS_MODULE} -- Access user oauth storage.
user_oauth_storage: CMS_USER_OAUTH_STORAGE_I
feature -- Access: OAuth2 Gmail
-- user_oauth2_gmail_by_id (a_uid: like {CMS_USER}.id): detachable CMS_USER
-- do
-- Result := user_oauth_storage.user_oauth2_gmail_by_id (a_uid)
-- end
-- user_by_oauth2_gmail_token (a_token: READABLE_STRING_32): detachable CMS_USER
-- do
-- Result := user_oauth_storage.user_by_oauth2_gmail_token (a_token)
-- end
user_oauth2_by_id (a_uid: like {CMS_USER}.id; a_consumer_table: READABLE_STRING_32): detachable CMS_USER
do
Result := user_oauth_storage.user_oauth2_by_id (a_uid, a_consumer_table)
end
user_by_oauth2_token (a_token: READABLE_STRING_32; a_consumer_table: READABLE_STRING_32): detachable CMS_USER
do
Result := user_oauth_storage.user_by_oauth2_token (a_token, a_consumer_table)
end
user_by_oauth2_global_token (a_token: READABLE_STRING_32 ): detachable CMS_USER
do
Result := user_oauth_storage.user_by_oauth2_global_token (a_token)
end
oauth2_consumers: LIST [STRING]
do
Result := user_oauth_storage.oauth2_consumers
end
feature -- Change: OAuth2 Gmail
-- new_user_oauth2_gmail (a_token: READABLE_STRING_32; a_user_profile: READABLE_STRING_32; a_user: CMS_USER)
-- -- Add a new user with oauth2 gmail authentication.
-- require
-- has_id: a_user.has_id
-- do
-- user_oauth_storage.new_user_oauth2_gmail (a_token, a_user_profile, a_user)
-- end
-- update_user_oauth2_gmail (a_token: READABLE_STRING_32; a_user_profile: READABLE_STRING_32; a_user: CMS_USER)
-- -- Updaate user `a_user' with oauth2 gmail authentication.
-- require
-- has_id: a_user.has_id
-- do
-- user_oauth_storage.update_user_oauth2_gmail (a_token, a_user_profile, a_user)
-- end
new_user_oauth2 (a_token: READABLE_STRING_32; a_user_profile: READABLE_STRING_32; a_user: CMS_USER; a_consumer_table: READABLE_STRING_32)
-- Add a new user with oauth2 gmail authentication.
require
has_id: a_user.has_id
do
user_oauth_storage.new_user_oauth2 (a_token, a_user_profile, a_user, a_consumer_table)
end
update_user_oauth2 (a_token: READABLE_STRING_32; a_user_profile: READABLE_STRING_32; a_user: CMS_USER; a_consumer_table: READABLE_STRING_32)
-- Updaate user `a_user' with oauth2 gmail authentication.
require
has_id: a_user.has_id
do
user_oauth_storage.update_user_oauth2 (a_token, a_user_profile, a_user, a_consumer_table)
end
end