<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Python API SSO NoneType Error in Nuxeo Forum</title>
    <link>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321618#M8619</link>
    <description>&lt;P&gt;JE n'arrive toujours pas à trouver de solution à cette 401, j'ai fait et refait la configuration comme indiqué sur la page&lt;/P&gt;</description>
    <pubDate>Thu, 25 Feb 2021 10:30:16 GMT</pubDate>
    <dc:creator>De_Grossi_Hugo</dc:creator>
    <dc:date>2021-02-25T10:30:16Z</dc:date>
    <item>
      <title>Python API SSO NoneType Error</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321615#M8616</link>
      <description>&lt;P&gt;Bonjour,&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Mon environnement :&lt;/STRONG&gt;
Nuxeo 10.10
Windows 10
Python 3.9&lt;/P&gt;
&lt;P&gt;J'essaye actuellement de créer un POC pour la connexion SSO avant de la mettre en place sur la branche dev, je rencontre toutefois quelques problèmes. J'utilise l'API Python de Nuxeo.&lt;/P&gt;
&lt;P&gt;**Mon code : **&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class="language-python"&gt;    auth1 = PortalSSOAuth("Administrator", "nuxeo5secretkey", "MD5")
    auth2 = ("Administrator", "Administrator")
    nuxeo = Nuxeo(auth=auth1)

    print(nuxeo.directories.get('/'))
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;Erreur :&lt;/STRONG&gt;
AttributeError: 'NoneType' object has no attribute 'update'&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Ce que j'ai remarqué :&lt;/STRONG&gt;
En regardant dans le code source je remarque cette méthode :&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt;def getattr(object, name, default=None): # known special case of getattr
    """
    getattr(object, name[, default]) -&amp;gt; value
    
    Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y.
    When a default argument is given, it is returned when the attribute doesn't
    exist; without it, an exception is raised in that case.
    """
    pass
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;qui ne renvoie rien, c'est de là que vien le NoneType.
Cette méthode est utilisée dans :&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class="language-python"&gt;def get_digest_hash(algorithm):
    # type: (Text) -&amp;gt; Optional[HASH]

    # Retrieve the hashlib function for the given digest, None if not found
    print(algorithm)
    print(hashlib)
    func = getattr(hashlib, algorithm, None)
    print(func)
    return func() if func else None
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;elle même utilisée dans&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class="language-python"&gt;def make_portal_sso_token(timestamp, random, secret, username, digest_algorithm="md5"):
    # type: (int, Text, Text, Text, Optional[Text]) -&amp;gt; Text
    """Generate a token for SSO with Portals."""
    clear_token = ":".join([str(timestamp), random, secret, username])
    digester = get_digest_hash(digest_algorithm)
    print(digester)
    digester.update(get_bytes(clear_token))
    hashed_token = digester.digest()
    return get_text(b64encode(hashed_token))
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;NB : Les print viennent de moi&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt;
Le problème vient-il d'une mauvaise configuration de ma part ou vraiment de la méthode citée ci-dessus ?&lt;/P&gt;</description>
      <pubDate>Thu, 25 Feb 2021 09:14:09 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321615#M8616</guid>
      <dc:creator>De_Grossi_Hugo</dc:creator>
      <dc:date>2021-02-25T09:14:09Z</dc:date>
    </item>
    <item>
      <title>Re: Python API SSO NoneType Error</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321616#M8617</link>
      <description>&lt;P&gt;Bonjour Hugo,&lt;/P&gt;
&lt;P&gt;Vous avez raison dans votre analyse, joli travail &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Le problème vient du fait que vous avez mis l'algorithme en majuscules. Un cas auquel nous n'avons pas pensé et qui sera corrigé dans une prochaine release. En attendant, je vous conseille d'uiliser ce code, en utilisant au maximum les valeurs par défaut :&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class="language-python"&gt;auth1 = PortalSSOAuth("Administrator", "nuxeo5secretkey")
nuxeo = Nuxeo(host=host, auth=auth1)
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Le dernier argument a été mis en place pour le rare cas où Portal SSO serait configuré côté serveur pour utliser un algorithme différent de &lt;CODE&gt;MD5&lt;/CODE&gt;.&lt;/P&gt;</description>
      <pubDate>Thu, 25 Feb 2021 09:26:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321616#M8617</guid>
      <dc:creator>Mickaël_Schoent</dc:creator>
      <dc:date>2021-02-25T09:26:05Z</dc:date>
    </item>
    <item>
      <title>Re: Python API SSO NoneType Error</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321617#M8618</link>
      <description>&lt;P&gt;D'accord ! merci de la réponse rapide !&lt;/P&gt;</description>
      <pubDate>Thu, 25 Feb 2021 09:33:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321617#M8618</guid>
      <dc:creator>De_Grossi_Hugo</dc:creator>
      <dc:date>2021-02-25T09:33:22Z</dc:date>
    </item>
    <item>
      <title>Re: Python API SSO NoneType Error</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321618#M8619</link>
      <description>&lt;P&gt;JE n'arrive toujours pas à trouver de solution à cette 401, j'ai fait et refait la configuration comme indiqué sur la page&lt;/P&gt;</description>
      <pubDate>Thu, 25 Feb 2021 10:30:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321618#M8619</guid>
      <dc:creator>De_Grossi_Hugo</dc:creator>
      <dc:date>2021-02-25T10:30:16Z</dc:date>
    </item>
    <item>
      <title>Re: Python API SSO NoneType Error</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321619#M8620</link>
      <description>&lt;P&gt;La page https&lt;/P&gt;</description>
      <pubDate>Thu, 25 Feb 2021 10:59:01 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321619#M8620</guid>
      <dc:creator>Patrick_Abgrall</dc:creator>
      <dc:date>2021-02-25T10:59:01Z</dc:date>
    </item>
    <item>
      <title>Re: Python API SSO NoneType Error</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321620#M8621</link>
      <description>&lt;P&gt;Super tout marche parfaitement ! j'avais oublié la bonne url ^^&lt;/P&gt;</description>
      <pubDate>Thu, 25 Feb 2021 12:12:46 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/python-api-sso-nonetype-error/m-p/321620#M8621</guid>
      <dc:creator>De_Grossi_Hugo</dc:creator>
      <dc:date>2021-02-25T12:12:46Z</dc:date>
    </item>
  </channel>
</rss>

