home *** CD-ROM | disk | FTP | other *** search
/ ftp.rsa.com / 2014.05.ftp.rsa.com.tar / ftp.rsa.com / pub / partner_engineering / ClearTrust / Oracle / 9iasR1 / ssoxct.pkb < prev   
Text File  |  2014-05-02  |  4KB  |  185 lines

  1. Rem
  2. Rem $Header: ssoxnete.pkb 26-mar-01.17:13:19 gbhatia Exp $
  3. Rem
  4. Rem ssoxnete.pkb
  5. Rem
  6. Rem  Copyright (c) Oracle Corporation 2001. All Rights Reserved.
  7. Rem
  8. Rem    NAME
  9. Rem      ssoxnete.pkb - Single Sign-On RSA Security ClearTrust Integration
  10. Rem
  11. Rem    DESCRIPTION
  12. Rem      This package body is used to achieve integration with RSA Security
  13. Rem      ClearTrust. It may be customized as required. This is just a default
  14. Rem      implementation and changes might be required based on customer's   
  15. Rem      specific deployment scenario.
  16. Rem    NOTES
  17. Rem      
  18. Rem
  19. Rem    MODIFIED   (MM/DD/YY)
  20. Rem    gbhatia     03/26/01 - Creation
  21.     
  22.  
  23. CREATE OR replace PACKAGE BODY wwsso_auth_external AS
  24.  
  25.     GLOBAL_SEPARATOR CONSTANT varchar2(1)    := '~';
  26.  
  27. /* This function needs to be implemented to provide a DN
  28.  * to UID mapping. One way to do this mapping is to lookup
  29.  *  the UID for a given DN in the directory
  30.  */
  31.  
  32. FUNCTION map_dn_to_uid(p_user_dn IN VARCHAR2)
  33.   return VARCHAR2
  34. IS
  35. BEGIN
  36.  
  37.   -- NULL implementation by default
  38.  
  39.   raise EXT_AUTH_FAILURE_EXCEPTION;
  40.  
  41.   return p_user_dn;
  42.  
  43. END map_dn_to_uid;
  44.  
  45.  
  46. FUNCTION authenticate_user
  47.   (
  48.    p_user OUT VARCHAR2
  49.   ) 
  50.   return PLS_INTEGER
  51. IS
  52.  l_http_header varchar(1000);
  53.  l_ssouser wwsec_person.user_name%type := NULL;
  54. BEGIN
  55.  
  56.    l_http_header := owa_util.get_cgi_env('HTTP_CT_REMOTE_USER');
  57.    debug_print('ClearTrust ID : ' || l_http_header);
  58.  
  59.   /*  
  60.    if l_http_header IS NULL then user may be authenticated by PKI
  61.    in ClearTrust so check the DN header
  62.    */
  63.  
  64.    IF (l_http_header is NULL) THEN
  65.    BEGIN
  66.        debug_print('check if user authenticated using PKI');
  67.        l_http_header := owa_util.get_cgi_env('HTTP_CT_REMOTE_USER');
  68.        l_ssouser := map_dn_to_uid(l_http_header);
  69.    END;
  70.    ELSE
  71.        l_ssouser := l_http_header;
  72.    END IF;
  73.  
  74.    IF ( (l_ssouser IS NULL) or
  75.        ( INSTR(l_ssouser, GLOBAL_SEPARATOR) != 0) ) THEN
  76.        debug_print('malformed user id: '
  77.                || l_ssouser
  78.                || ' returned by wwsso_auth_external.authenticate_user');
  79.        RAISE EXT_AUTH_FAILURE_EXCEPTION;
  80.    ELSE
  81.      p_user := NLS_UPPER(l_ssouser); 
  82.      return 0;
  83.    END IF;
  84.    
  85.    
  86. EXCEPTION
  87.    WHEN OTHERS THEN
  88.      debug_print('unknown exception in authenticate_user(p_user)' 
  89.                  || sqlerrm);
  90.      RAISE EXT_AUTH_FAILURE_EXCEPTION;
  91.  
  92. END authenticate_user;
  93.  
  94.   
  95. FUNCTION authenticate_user 
  96.   (
  97.     p_user IN VARCHAR2,
  98.     p_password IN VARCHAR2
  99.   )
  100.    RETURN PLS_integer
  101. IS 
  102. BEGIN
  103.  
  104.   raise EXT_AUTH_FAILURE_EXCEPTION;
  105.  
  106. END authenticate_user;
  107.  
  108.  
  109. PROCEDURE get_configuration
  110.   (
  111.     p_config OUT ext_config
  112.   )
  113. AS
  114. BEGIN
  115.  
  116.   null;
  117.   -- p_config := NULL;
  118.  
  119. END get_configuration;
  120.  
  121. PROCEDURE change_passwd
  122.   (
  123.     p_user IN VARCHAR2,
  124.     p_oldpwd IN VARCHAR2,
  125.     p_newpwd IN VARCHAR2
  126.   )
  127. AS
  128. BEGIN
  129.  
  130.  raise EXT_NOT_SUPPORTED_EXCEPTION;
  131.  
  132. EXCEPTION
  133.     WHEN OTHERS THEN
  134.       RAISE EXT_CHANGE_PASSWORD_EXCEPTION;
  135. END change_passwd;
  136.  
  137.  
  138. FUNCTION enforce_account_policies
  139.     RETURN BOOLEAN
  140. IS
  141. BEGIN
  142.     return FALSE;
  143.  
  144. END enforce_account_policies;
  145.  
  146.  
  147. PROCEDURE reset_passwd
  148.   (
  149.     p_user IN VARCHAR2
  150.   , p_passwd IN VARCHAR2 
  151.   )
  152. IS
  153. BEGIN
  154.  
  155.    raise EXT_NOT_SUPPORTED_EXCEPTION;
  156.  
  157. END reset_passwd;
  158.  
  159. FUNCTION get_authentication_name 
  160.  RETURN VARCHAR2
  161. AS
  162. BEGIN
  163.     RETURN 'RSA Security ClearTrust';
  164. END get_authentication_name;
  165.  
  166.  
  167.  
  168. PROCEDURE set_external_cookies
  169.   (
  170.     p_username IN VARCHAR2
  171.   , p_password IN VARCHAR2
  172.   , p_cookie_list OUT wwsso_ls_private.cookie_list
  173.   )
  174. AS
  175. BEGIN
  176.     null;
  177.  
  178. END set_external_cookies;
  179.  
  180.  
  181.  
  182. END; 
  183. /
  184. show errors;
  185.