Office365-rest-python-client: IndexError: рд╕реВрдЪреА рд╕реВрдЪрдХрд╛рдВрдХ рд╕реАрдорд╛ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рджрд┐рд╕ре░ 2020  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vgrem/Office365-REST-Python-Client

рд╢реНрд░реАрдорд╛рди,
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЕрдм рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЬреБрдбрд╝ рд░рд╣рд╛ рд╣реВрдБ?

2.2.2 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдлрд┐рд░ рдореБрджреНрджрд╛ #272 рд╣реБрдЖ (XML рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ: AADSTS500069 ) рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ 2.3.0.1 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ред
рдЕрдм рдирд┐рдореНрди рдХреЛрдб рдпрд╛ рддреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
def copy_sharepoint (рд╕реНрд╡рдпрдВ, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо = ""):
ctx = ClientContext (self.SITE_SHAREPOINT).with_credentials (UserCredential(self.WIN_USER,self.WIN_PASSWORD))
localpath=os.path.join(self.CHEMIN_XLSX ,self.NOM_TIR + '/',self.FICHIER_BI)
self.print_debug("",localpath)
self.print_debug("",self.WIN_PASSWORD)
рд╕рд╛рдордЧреНрд░реА_рдлрд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЦреБрд▓реЗ (рд╕реНрдерд╛рдиреАрдпрдкрде, 'рдЖрд░рдмреА') рдХреЗ рд╕рд╛рде:
file_content = content_file.read ()
рдлрд╝рд╛рдЗрд▓ = ctx.web.get_folder_by_server_relative_url(self.CHEMIN_SHAREPOINT).upload_file(self.FICHIER_BI, file_content).execute_query()

рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "/appli/sopra/tools/tir_bench.py", рд▓рд╛рдЗрди 1327, in
tir_bench.copy_sharepoint ()
рдлрд╝рд╛рдЗрд▓ "/appli/sopra/tools/tir_bench.py", рдкрдВрдХреНрддрд┐ 1278, copy_sharepoint рдореЗрдВ
рдлрд╝рд╛рдЗрд▓ = ctx.web.get_folder_by_server_relative_url(self.CHEMIN_SHAREPOINT).upload_file(self.FICHIER_BI, file_content).execute_query()
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/client_object.py", рд▓рд╛рдЗрди 30, execute_query рдореЗрдВ
self.context.execute_query ()
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/client_runtime_context.py", рдкрдВрдХреНрддрд┐ 138, execute_query рдореЗрдВ
self.pending_request().execute_query()
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/client_request.py", рд▓рд╛рдЗрди 73, execute_query рдореЗрдВ
рд╕реНрд╡рдпрдВ.рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ (рдЕрдиреБрд░реЛрдз)
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/types/EventHandler.py", рдкрдВрдХреНрддрд┐ 18, рд╕реВрдЪрдирд╛ рдореЗрдВ
рд╢реНрд░реЛрддрд╛ ( рддрд░реНрдХ, * kwargs)
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/sharepoint/client_context.py", рд▓рд╛рдЗрди 162, _build_modification_query рдореЗрдВ
self.ensure_form_digest(рдЕрдиреБрд░реЛрдз)
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/sharepoint/client_context.py", рд▓рд╛рдЗрди 123, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдлреЙрд░реНрдо_рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдореЗрдВ
self.request_form_digest ()
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/sharepoint/client_context.py", рд▓рд╛рдЗрди 130, request_form_digest рдореЗрдВ
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ = self.execute_request_direct (рдЕрдиреБрд░реЛрдз)
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/client_runtime_context.py", рдкрдВрдХреНрддрд┐ 134, execute_request_direct рдореЗрдВ
рд╕реНрд╡.pending_request().execute_request_direct(request) рд▓реМрдЯрд╛рдПрдВ
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/odata/odata_request.py", рд▓рд╛рдЗрди 34, execute_request_direct рдореЗрдВ
рд╕реБрдкрд░ рд░рд┐рдЯрд░реНрди (ODataRequest, self).execute_request_direct(request)
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/client_request.py", рд▓рд╛рдЗрди 86, execute_request_direct рдореЗрдВ
self.context.authenticate_request(request_options)
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/sharepoint/client_context.py", рд▓рд╛рдЗрди 151 рдореЗрдВ, рдкреНрд░рдорд╛рдгреАрдХреГрдд_рдЕрдиреБрд░реЛрдз рдореЗрдВ
self._auth_context.authenticate_request(рдЕрдиреБрд░реЛрдз)
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/auth/authentication_context.py", рд▓рд╛рдЗрди 84, рдСрдереЗрдВрдЯрд┐рдХреЗрдЯ_рд░реЗрдХреНрд╡реЗрд╕реНрдЯ рдореЗрдВ
self._provider.authenticate_request(рдЕрдиреБрд░реЛрдз)
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/auth/providers/saml_token_provider.py", рд▓рд╛рдЗрди 73, рдСрдереЗрдВрдЯрд┐рдХреЗрдЯ_рд░реЗрдХреНрд╡реЗрд╕реНрдЯ рдореЗрдВ
self.ensure_authentication_cookie ()

рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/auth/providers/saml_token_provider.py", рд▓рд╛рдЗрди 80, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд_рдкреНрд░рдорд╛рдгреАрдХрд░рдг_рдХреБрдХреА рдореЗрдВ
self._cached_auth_cookies = self.get_authentication_cookie()
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/auth/providers/saml_token_provider.py", рд▓рд╛рдЗрди 93, get_authentication_cookie рдореЗрдВ
рдЯреЛрдХрди = рд╕реНрд╡рдпрдВ._acquire_service_token_from_adfs(user_realm.STSAuthUrl)
рдлрд╝рд╛рдЗрд▓ "/home/benchsp/.local/lib/python3.9/site-packages/office365/runtime/auth/providers/saml_token_provider.py", рд▓рд╛рдЗрди 136, _acquire_service_token_from_adfs рдореЗрдВ
рдЕрднрд┐рдХрдерди_рдиреЛрдб = dom.getElementsByTagNameNS ("рдХрд▓рд╢: рдУрдПрд╕рд┐рд╕: рдирд╛рдо: tc: SAML: 1.0: рдЕрднрд┐рдХрдерди", 'рдЕрднрд┐рдХрдерди') [0]ред toxml ()
IndexError: рд╕реВрдЪреА рд╕реВрдЪрдХрд╛рдВрдХ рд╕реАрдорд╛ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЙрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж,
рдЧрд┐рд▓реМрдо

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдирдорд╕реНрддреЗ,
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣рд╛рдБ response.content.decode()) рдХрд╛ рдорд╛рди рд╣реИред

http://www.w3.org/2005/08/addressing/soap/faultcfb81633-ff49-4e50-9544-7e39214d7122
<value i="14">s:Sender</value><subcode i="15"><value i="16">a:InvalidSecurity</value></subcode>рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реБрдИред

рдЕрднрд┐рд╡рд╛рджрди!

рд╡рд┐рд╕реНрддреГрдд рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдлрд┐рд▓рд╣рд╛рд▓ рдореЗрд░реЗ рдкрд╛рд╕ SharePoint/ADFS env рдХреЗ рд╡рд┐рд░реБрджреНрдз рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред

@wreiner , рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреГрдкрдпрд╛ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХреЗрдВ рдХрд┐ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП _federated рдкреНрд░рдорд╛рдгреАрдХрд░рдг_ рдЖрдкрдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ?

рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ

рдореБрдЭреЗ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд░рд╣реА рд╣реИрдВ, рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдореБрдЭреЗ 400 рдпрд╛ 500 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддреА рд╣реИред

https://github.com/vgrem/Office365-REST-Python-Client/blob/020c8c8176ce2eea3accbe95e2e4372af57ef6c8/office365/runtime/auth/providers/saml_token_provider.py#L133

рдЕрдЧрд░ рдореБрдЭреЗ 400 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ рддреЛ рд╢рд░реАрд░ рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк xml.parsers.expat.ExpatError: no element found: line 1, column 0 рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИред 500 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ @ guillaume-colas рдХреЗ рд╕рдорд╛рди рдЕрдкрд╡рд╛рдж рджреЗрддреА рд╣реИред

рдореБрдЭреЗ рдЕрднреА рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рд╕рд░реНрд╡рд░ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯрдЕрдк рд╣реИ?

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ Thx!

рдирдорд╕реНрддреЗ,

рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЬрдм рдореИрдВ рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ _acquire_service_token_from_adfs_ _runtime/auth/providers/saml_token_provider.py_ рд╕реЗ рдЧрд╛рдпрдм рд╣реИред

рдореЗрд░реЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдЧреБрдо рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдбреЗрдЯрд╛рдЯрд╛рдЗрдо рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдлрд┐рдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж рд╡рд┐рд▓рдп рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдереА?

@wreiner рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

рдЕрдзрд┐рдЧреНрд░рд╣рдг_рд╕реЗрд╡рд╛_рдЯреЛрдХрди_from_adfs рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ

рдЗрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗ рдирд┐рдЬреА рд╡рд┐рдзрд┐ рдореЗрдВ рдкреБрди: рд╕рдХреНрд░рд┐рдп

рдбреЗрдЯрд╛рдЯрд╛рдЗрдо рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдлрд┐рдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИ

рдкреНрд░рд╛рд░реВрдк рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдмрджреНрдз рдерд╛, рд▓реЗрдХрд┐рди рдШреЛрд╖рдгрд╛ рдХреЛ sts_profile.py рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

self.created = now.astimezone(timezone.utc).isoformat('T')[:-9] + 'Z' self.expires = (now + timedelta(minutes=10)).astimezone(timezone.utc).isoformat('T')[:-9] + 'Z'

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡рд┐рд▓рдп рдХреЗ рдмрд╛рдж рдХреБрдЫ рдХрдореА рд╣реИ рддреЛ рдореБрдЭреЗ рджреЛрд╖ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ

рдореБрдЭреЗ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд░рд╣реА рд╣реИрдВ, рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдореБрдЭреЗ 400 рдпрд╛ 500 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддреА рд╣реИред

https://github.com/vgrem/Office365-REST-Python-Client/blob/020c8c8176ce2eea3accbe95e2e4372af57ef6c8/office365/runtime/auth/providers/saml_token_provider.py#L133

рдЕрдЧрд░ рдореБрдЭреЗ 400 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ рддреЛ рд╢рд░реАрд░ рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк xml.parsers.expat.ExpatError: no element found: line 1, column 0 рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИред 500 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ @ guillaume-colas рдХреЗ рд╕рдорд╛рди рдЕрдкрд╡рд╛рдж рджреЗрддреА рд╣реИред

рдореБрдЭреЗ рдЕрднреА рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рд╕рд░реНрд╡рд░ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯрдЕрдк рд╣реИ?

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ Thx!

рд╣рд╛рдп рдорд╛рд░реНрдХ,

рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдлрд╝реЗрдбрд░реЗрдЯреЗрдб рдкреНрд░рдорд╛рдгреАрдХрд░рдг (рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ/рдПрдбреАрдПрдлрдПрд╕) рдореЗрдВ рдХреБрдЫ рд╣рдж рддрдХ рдЯреВрдЯрд╛ рд╣реБрдЖ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ _previous_ рд╕рдВрд╕реНрдХрд░рдг ( 2.2.2 ) рдХреЗ рд▓рд┐рдП рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рд╕реБрд░рдХреНрд╖рд╛ рдЯреЛрдХрди рдФрд░ рдХреБрдХреА рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХреБрдХреА рдЬрд╛рд░ рдореЗрдВ 'FedAuth' рдлрд╝реАрд▓реНрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ is_valid_auth_cookies рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдм _get_authentication_cookie рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

https://github.com/vgrem/Office365-REST-Python-Client/blob/93325ea33675b86aafc2e6e0fa381c184ce479e7/office365/runtime/auth/providers/saml_token_provider.py#L32

рдлрд╝реЗрдбрд░реЗрдЯреЗрдб рдСрде рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рдЬрд╛рд░ рдореЗрдВ SPOIDCRL рджреЗрдЦрддрд╛ рд╣реВрдБред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореИрдВ рдЕрднреА рднреА рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдСрде рдбреЗрдЯрд╛ рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВ, рдореИрдВ рдЕрднреА рднреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рдореБрдЭреЗ рдХрд┐рддрдиреЗ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдореЗрд░реЗ рдкреИрдЪ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдЕрднреА рднреА рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВред

рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :-)

@vgrem рдЗрд╕реЗ 2.2.2 рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣

рдЕрдкрд╡рд╛рдж рдХреЛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдПрдХ рдХрджрдо рдЖрдЧреЗ рд╣реВрдВред рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореБрдЭреЗ рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рдореИрдВ @wreiner рдЬреИрд╕реА рд╣реА рддреНрд░реБрдЯрд┐ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред is_valid_auth_cookies рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреБрдХреА рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдХреЗрд╡рд▓ SPOIDCRL рдХреБрдВрдЬреА рд╣реИ рдФрд░ рдХреЛрдИ FedAuth рдХреБрдВрдЬреА рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рдЬрд╛рдВрдЪ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреБрдХреА рдорд╛рдиреНрдп рд╣реИ рдпрд╛ рдирд╣реАрдВред рдореИрдВ рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рд╕реЗ рдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред рддреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рд╢рд╛рдпрдж рдореИрдВ 2.2.2 рд╕рдВрд╕реНрдХрд░рдг рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред

рдореЗрд░реЗ рд╕рд╛рде рднреА рд╡рд╣реА рджрд┐рдХреНрдХрдд рд╣реИред is_valid_auth_cookies рд╡рд╛рдкрд╕реА False рдХреНрдпреЛрдВрдХрд┐ рдХреБрдХреАрдЬрд╝ рдореЗрдВ рдХреЛрдИ FedAuth рдХреБрдВрдЬреА рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдореИрдВ рд░рд┐рдЯрд░реНрди рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд░рд┐рдЯрд░реНрди рдЯреНрд░реВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реВрдВ, рддреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

def is_valid_auth_cookies(values):
    return True
    # return any(values) and values.get('FedAuth', None) is not None

рдЕрд░реЗ @ hungnguyen95 , рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

is_valid_auth_cookies рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдирдорд╕реНрддреЗ,
рдХреНрдпрд╛ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ is_valid_auth_cookies рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ рдареАрдХ рдХреА рдЬрд╛рдПрдЧреА?

рдореИрдВ рдпрд╣рд╛рдБ рдХрд╛рдлреА рдЦреЛ рдЧрдпрд╛ рд╣реВрдБ рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ _acquire_service_token_from_adfs рдореЗрдВ рдереАред
рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдореБрдЭреЗ 'рдЕрдорд╛рдиреНрдп рд╕реБрд░рдХреНрд╖рд╛' рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреНрдпреЛрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдордХрд╛рдЬ?

рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдпреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдзрдиреНрдпрд╡рд╛рджред
рдЧрд┐рд▓реМрдо

@ guillaume-colas рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рд╕рдВрднрд╡рддрдГ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗ рд░рд╣реА рд╣реИред рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╕рд╣реА рд╣реИ рдФрд░ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ? рдореЗрд░реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдореИрдВ is_valid_auth_cookies рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред

@mark-boer рд╣рд╛рдБ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕рд╣реА рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ 2FA (рдПрд╕рдПрдордПрд╕ рдХреЛрдб) рдХреЗ рд╕рд╛рде рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рд░рд╣рд╛ рд╣реИ?

рдХреНрдпрд╛ рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рдкрд░ рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

bobbydurrett picture bobbydurrett  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

haimat picture haimat  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pobs93 picture pobs93  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

florinmihut picture florinmihut  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BradshawI picture BradshawI  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ