
    )Jf                     z   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ d dlmZmZ d dlmZ ddlmZ ddlmZ ddlmZ ddl m!Z!m"Z"m#Z#m$Z$ d Z% G d de          Z&e&'                                Z( G d de          Z) e	e)'                                          Z*dS )    )HttpResponseRedirect)render)reverse)View)csrf_exempt)consumer)DiscoveryFailure)AttrInfoFetchRequest)SRegRequest)QUERY_EMAIL)complete_social_loginrender_authentication_error)SocialLogin   )	AuthError   )	LoginForm)OpenIDProvider)AXAttributesDBOpenIDStoreJSONSafeSession
SRegFieldsc                     |                     |          }|                    dd          }|rd nt                      }t          j        t          | j                  |          }|S )N	statelessF)get_server_settingsgetr   r   Consumerr   session)requestproviderendpointserver_settingsr   storeclients          o/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/openid/views.py_openid_consumerr'      s]    228<<O##K77I2DD=??Ew??GGFM    c                   T     e Zd ZdZeZeZ fdZd Z	d Z
d Zd Zd Zd Zd	 Z xZS )
OpenIDLoginViewzopenid/login.htmlc                 r    |                      |          | _         t                      j        |g|R i |S N)provider_classr!   superdispatch)selfr    argskwargs	__class__s       r&   r/   zOpenIDLoginView.dispatch&   s?    ++G44uww9$999&999r(   c                    |                                  }|                                st          || j        d|i          S 	 |                     |          S # t
          t          f$ r!}t          || j        |          cY d }~S d }~ww xY w)Nform)	exception)	get_formis_validr   template_nameperform_openid_authUnicodeDecodeErrorr	   r   r!   r0   r    r5   es       r&   r   zOpenIDLoginView.get*   s    }}}} 	G'4#5~FFF	T++D111"$45 	T 	T 	T.wQRSSSSSSSSS	Ts   A B	(B>B	B	c                 &   |                                  }|                                rR	 |                     |          S # t          t          f$ r(}|                    |g          |j        d<   Y d }~nd }~ww xY wt          || j        d|i          S )Nopenidr5   )	r7   r8   r:   r;   r	   error_class_errorsr   r9   r<   s       r&   postzOpenIDLoginView.post5   s    }}==?? 	??//555&(89 ? ? ?)-)9)91#)>)>X&&&&&&? gt1FD>BBBs   ? A8A33A8c           	         | j         j        dk    rad| j         j        vrS|                     | j         j                            d          | j         j                            d          d          S |                     t          t          | j         j                                                  t          | j         j                                                  z                       S )NGETr?   nextprocess)rE   rF   )initial)	r    methodrD   
form_classr   dictlistitemsPOSTr0   s    r&   r7   zOpenIDLoginView.get_form?   s    <%''HDL<L,L,L?? L,0088#|/33I>>  #    dl&,,..//$t|7H7N7N7P7P2Q2QQRR
 
 	
r(   c                 .    t          | j        ||          S r,   r'   r    r0   r!   r"   s      r&   
get_clientzOpenIDLoginView.get_clientL       hAAAr(   c                     |                                                     d| j                            d                    S )NREALM/)get_settingsr   r    build_absolute_uri)r0   r!   s     r&   	get_realmzOpenIDLoginView.get_realmO   s;    $$&&**T\44S99
 
 	
r(   c                 *    t          t                    S r,   )r   callbackrN   s    r&   get_callback_urlz OpenIDLoginView.get_callback_urlT   s    x   r(   c                    |                                 s|S | j        }| j        }|j        d         }|                     ||          }|                     |          }|                    |          }t          rt                      }t          D ]}	|
                    |	d           |                    |           t                      }
t          D ]&}	|
                    t          |	d                     '|                    |j                            d                    }|                    dg           }|D ]*\  }}	}|
                    t          |	|                     +|                    |
           t'          j        |           d|j        v r"|j        d         r|j        d         |j        d<   |                    ||                    |                                                     }t3          |          S )Nr?   T)
field_namerequired)r_   extra_attributesrE   )r8   r    r!   cleaned_datarR   rY   beginr   r   r   requestFieldaddExtensionr   r   addr
   r   rD   r   r   stash_statereturn_to_argsredirectURLrX   r\   r   )r0   r5   r    r!   r"   r%   realmauth_requestsregnameaxr#   r`   _r_   redirect_urls                   r&   r:   z#OpenIDLoginView.perform_openid_authW   s   }} 	K,=$X.844x((||H-- 	*==D" B B!!TD!AAAA%%d+++B$ 6 6xt4445555&::7;??8;T;TUUO.223ErJJ%5 : :!4xx8889999%%b)))((( T&&&4+<V+D&262CF2KL'/#//7--d.C.C.E.EFF
 
 $L111r(   )__name__
__module____qualname__r9   r   rI   r   r-   r/   r   rB   r7   rR   rY   r\   r:   __classcell__)r3   s   @r&   r*   r*   !   s        'MJ#N: : : : :	T 	T 	TC C C
 
 
B B B
 
 

! ! !!2 !2 !2 !2 !2 !2 !2r(   r*   c                   4    e Zd ZeZd ZeZd Zd Zd Z	d Z
dS )OpenIDCallbackViewc                    |                      |          x}| _        |j                            dd          }|                     ||          }|                     |          }|j        t          j        k    rD|	                    ||          }t          j        |          |_        |                     |          S |j        t          j        k    rt          j        }nt          j        }|                     |          S )Nzopenid.op_endpoint )r-   r!   rD   r   rR   get_openid_responsestatusr   SUCCESSsociallogin_from_responser   unstash_statestatecomplete_loginCANCELr   	CANCELLEDUNKNOWNrender_error)r0   r    r!   r"   r%   responseloginerrors           r&   r   zOpenIDCallbackView.get   s    #'#6#6w#?#??4=;??#7<<844++F33?h...66wIIE%3G<<EK&&u---(/11!+!)$$U+++r(   c                 ,    t          | j        |          S r,   )r   r    )r0   r   s     r&   r~   z!OpenIDCallbackView.complete_login   s    $T\5999r(   c                 :    t          | j        | j        |          S )N)r   )r   r    r!   )r0   r   s     r&   r   zOpenIDCallbackView.render_error   s    *4<eTTTTr(   c                 .    t          | j        ||          S r,   rP   rQ   s      r&   rR   zOpenIDCallbackView.get_client   rS   r(   c           	      6   |                     t          t          | j        j                                                  t          | j        j                                                  z             | j                            | j        j                            S r,   )	completerJ   rK   r    rD   rL   rM   rX   path)r0   r%   s     r&   rx   z&OpenIDCallbackView.get_openid_response   sr    dl&,,..//$t|7H7N7N7P7P2Q2QQRRL++DL,=>>
 
 	
r(   N)rp   rq   rr   r   r-   r   rB   r~   r   rR   rx    r(   r&   ru   ru   ~   sq        #N, , ," D: : :U U UB B B
 
 
 
 
r(   ru   N)+django.httpr   django.shortcutsr   django.urlsr   django.viewsr   django.views.decorators.csrfr   openid.consumerr   openid.consumer.discoverr	   openid.extensions.axr
   r   openid.extensions.sregr   "allauth.socialaccount.app_settingsr   allauth.socialaccount.helpersr   r   allauth.socialaccount.modelsr   baser   formsr   r!   r   utilsr   r   r   r   r'   r*   as_viewr   ru   r[   r   r(   r&   <module>r      s   , , , , , , # # # # # #             4 4 4 4 4 4 $ $ $ $ $ $ 5 5 5 5 5 5 7 7 7 7 7 7 7 7 . . . . . . : : : : : :        5 4 4 4 4 4             $ $ $ $ $ $ K K K K K K K K K K K K  W2 W2 W2 W2 W2d W2 W2 W2t 	!!#
 #
 #
 #
 #
 #
 #
 #
L ;)113344r(   