Fix oidc-auth cli for python3
The response to oidc token request is bytes type. This is fine with python2 as there is no distinguish between bytes and string. But in python3, bytes and string are different, causing some string operations (such as split(response, "\n")) to fail. This is fixed by converting the bytes into string if the script is run in python3. Test Plan for Debian and CentOS: PASS: python3-oidcauthtools package build. PASS: With oidc-auth-apps applied and configured, run oidc-auth cli to get a token. Closes-Bug: 1978963 Signed-off-by: Andy Ning <andy.ning@windriver.com> Change-Id: I09e2ddab1b0ab44b0dd5aefebbe25624b3b67300
This commit is contained in:
parent
adde719f11
commit
ffa3a8f637
@ -9,6 +9,7 @@ import getopt, sys
|
||||
import getpass
|
||||
from argparse import ArgumentParser
|
||||
import mechanize
|
||||
import six
|
||||
import ssl
|
||||
|
||||
def main():
|
||||
@ -114,6 +115,11 @@ def main():
|
||||
print("------------------")
|
||||
|
||||
stringResponse = dexLoginGrantAccessResponse.read()
|
||||
# stringResponse is bytes type. In python3 bytes and str are different.
|
||||
# Convert it to str so the following string operations will succeed.
|
||||
if six.PY3:
|
||||
stringResponse = stringResponse.decode()
|
||||
|
||||
if verbose:
|
||||
print(stringResponse)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user