TypeError('getattr(): attribute name must be string',) with SQL Resolver

I created SQL resolver for MySQL and the “Test” button shows me the correct
number of users. I also can add new users via the privacyIDEA web interface
to that SQL database. However, as soon as I want to list my users in
privacyIDEA web interface no users are displayed and in the error log I see
this message:

[2016-02-24
11:36:39,023][10987][140055712585472][ERROR][privacyidea.lib.user:626]
TypeError(‘getattr(): attribute name must be string’,)

This is my attribute mapping in the resolver:

{ “userid” : “USERID” , “givenname” : “FIRSTNAME” , “surname” : “LASTNAME”
, “email” : “EMAIL” , “password” : “PASSWORD” }

And this is my database structure:

CREATE TABLE users (

USERID int(11) NOT NULL AUTO_INCREMENT,
EMAIL varchar(30) NOT NULL,
FIRSTNAME varchar(30) NOT NULL,
LASTNAME varchar(30) NOT NULL,
PASSWORD varchar(30) NOT NULL,
PRIMARY KEY (USERID)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

I tried to change all fields to “TEXT” instead of “VARCHAR” and also a
USERID with type VARCHAR instead of INT. But I guess I miss something else
as the issue is also if I just use one of these fields.

Maybe I understood something wrong here?

Below is the debug output of the “list user” action. However I still have
no glue what the issue is :frowning: So any help would be appreciated …

[2016-02-24
12:29:14,678][16245][140350622504704][DEBUG][privacyidea.api.lib.utils:235]
Can not get param: No JSON object could be decoded
[2016-02-24
12:29:14,680][16245][140350622504704][DEBUG][privacyidea.lib.audit:118]
Entering getAudit with arguments (<Config {‘JSON_AS_ASCII’: True, ‘PI_HSM’:
‘default’, ‘PI_LOGFILE’: ‘/var/log/privacyidea/privacyidea.log’, ‘pi_hsm’:
{‘obj’: <privacyidea.lib.security.default.DefaultSecurityModule object at
0x7fa5d45a1e50>}, ‘PI_AUDIT_KEY_PUBLIC’: ‘/etc/privacyidea/public.pem’,
‘SQLALCHEMY_POOL_RECYCLE’: None, ‘SQLALCHEMY_ECHO’: False, ‘PI_PEPPER’:
‘Never know…’, ‘SQLALCHEMY_TRACK_MODIFICATIONS’: True,
‘SQLALCHEMY_POOL_TIMEOUT’: None, ‘SQLALCHEMY_RECORD_QUERIES’: None,
‘PI_ENCFILE’: ‘/etc/privacyidea/enckey’, ‘SESSION_COOKIE_DOMAIN’: None,
‘SESSION_COOKIE_NAME’: ‘session’, ‘pi_token_types’: [‘registration’,
‘yubikey’, ‘radius’, ‘tiqr’, ‘pw’, ‘daplug’, ‘u2f’, ‘spass’, ‘4eyes’,
‘paper’, ‘motp’, ‘sms’, ‘email’, ‘totp’, ‘remote’, ‘hotp’, ‘certificate’,
‘yubico’, ‘sshkey’, ‘question’], ‘SQLALCHEMY_NATIVE_UNICODE’: None,
‘MAX_CONTENT_LENGTH’: None, ‘PERMANENT_SESSION_LIFETIME’:
datetime.timedelta(31), ‘SQLALCHEMY_POOL_SIZE’: None,
‘SQLALCHEMY_MAX_OVERFLOW’: None, ‘TRAP_HTTP_EXCEPTIONS’: False,
‘PRESERVE_CONTEXT_ON_EXCEPTION’: None, ‘SESSION_COOKIE_PATH’: None,
‘SQLALCHEMY_DATABASE_URI’: ‘mysql://user:password@localhost/privacyidea’,
‘LOGGER_NAME’: ‘privacyidea.app’, ‘SECRET_KEY’: ‘t0p s3cr3t’,
‘APPLICATION_ROOT’: None, ‘SERVER_NAME’: None, ‘PREFERRED_URL_SCHEME’:
‘http’, ‘TESTING’: False, ‘USE_X_SENDFILE’: False, ‘PI_AUDIT_MODULE’:
‘privacyidea.lib.auditmodules.sqlaudit’, ‘SESSION_COOKIE_SECURE’: False,
‘SQLALCHEMY_BINDS’: None, ‘DEBUG’: False, ‘SQLALCHEMY_COMMIT_ON_TEARDOWN’:
False, ‘JSONIFY_PRETTYPRINT_REGULAR’: True, ‘PROPAGATE_EXCEPTIONS’: None,
‘PI_LOGLEVEL’: 10, ‘TRAP_BAD_REQUEST_ERRORS’: False, ‘JSON_SORT_KEYS’:
True, ‘SESSION_COOKIE_HTTPONLY’: True, ‘SEND_FILE_MAX_AGE_DEFAULT’: 43200,
‘PI_AUDIT_KEY_PRIVATE’: ‘/etc/privacyidea/private.pem’, ‘SUPERUSER_REALM’:
[‘super’, ‘administrators’]}>,) and keywords {}
[2016-02-24
12:29:14,680][16245][140350622504704][DEBUG][privacyidea.lib.audit:118]
Entering getAuditClass with arguments
(‘privacyidea.lib.auditmodules.sqlaudit’, ‘Audit’) and keywords {}
[2016-02-24
12:29:14,680][16245][140350622504704][DEBUG][privacyidea.lib.audit:73]
klass: <class ‘privacyidea.lib.auditmodules.sqlaudit.Audit’>
[2016-02-24
12:29:14,680][16245][140350622504704][DEBUG][privacyidea.lib.audit:129]
Exiting getAuditClass with result <class
‘privacyidea.lib.auditmodules.sqlaudit.Audit’>
[2016-02-24
12:29:14,680][16245][140350622504704][DEBUG][privacyidea.lib.auditmodules.sqlaudit:142]
using the connect string mysql://user:password@localhost/privacyidea
[2016-02-24
12:29:14,686][16245][140350622504704][DEBUG][privacyidea.lib.audit:129]
Exiting getAudit with result <privacyidea.lib.auditmodules.sqlaudit.Audit
object at 0x7fa5f9ce5710>
[2016-02-24
12:29:14,686][16245][140350622504704][DEBUG][privacyidea.lib.realm:118]
Entering get_realms with arguments () and keywords {}
[2016-02-24
12:29:14,690][16245][140350622504704][DEBUG][privacyidea.lib.realm:129]
Exiting get_realms with result {u’mysql-realm’: {‘default’: True,
‘resolver’: [{‘priority’: 1L, ‘type’: u’sqlresolver’, ‘name’:
u’mysql-backend’}]}}
[2016-02-24
12:29:14,715][16245][140350622504704][DEBUG][privacyidea.api.lib.utils:235]
Can not get param: No JSON object could be decoded
[2016-02-24
12:29:14,764][16245][140350605719296][DEBUG][privacyidea.api.lib.utils:235]
Can not get param: No JSON object could be decoded
[2016-02-24
12:29:14,766][16245][140350605719296][DEBUG][privacyidea.lib.audit:118]
Entering getAudit with arguments (<Config {‘JSON_AS_ASCII’: True, ‘PI_HSM’:
‘default’, ‘PI_LOGFILE’: ‘/var/log/privacyidea/privacyidea.log’, ‘pi_hsm’:
{‘obj’: <privacyidea.lib.security.default.DefaultSecurityModule object at
0x7fa5d45a1e50>}, ‘PI_AUDIT_KEY_PUBLIC’: ‘/etc/privacyidea/public.pem’,
‘SQLALCHEMY_POOL_RECYCLE’: None, ‘SQLALCHEMY_ECHO’: False, ‘PI_PEPPER’:
‘Never know…’, ‘SQLALCHEMY_TRACK_MODIFICATIONS’: True,
‘SQLALCHEMY_POOL_TIMEOUT’: None, ‘SQLALCHEMY_RECORD_QUERIES’: None,
‘PI_ENCFILE’: ‘/etc/privacyidea/enckey’, ‘SESSION_COOKIE_DOMAIN’: None,
‘SESSION_COOKIE_NAME’: ‘session’, ‘pi_token_types’: [‘registration’,
‘yubikey’, ‘radius’, ‘tiqr’, ‘pw’, ‘daplug’, ‘u2f’, ‘spass’, ‘4eyes’,
‘paper’, ‘motp’, ‘sms’, ‘email’, ‘totp’, ‘remote’, ‘hotp’, ‘certificate’,
‘yubico’, ‘sshkey’, ‘question’], ‘SQLALCHEMY_NATIVE_UNICODE’: None,
‘MAX_CONTENT_LENGTH’: None, ‘PERMANENT_SESSION_LIFETIME’:
datetime.timedelta(31), ‘SQLALCHEMY_POOL_SIZE’: None,
‘SQLALCHEMY_MAX_OVERFLOW’: None, ‘TRAP_HTTP_EXCEPTIONS’: False,
‘PRESERVE_CONTEXT_ON_EXCEPTION’: None, ‘SESSION_COOKIE_PATH’: None,
‘SQLALCHEMY_DATABASE_URI’: ‘mysql://user:password@localhost/privacyidea’,
‘LOGGER_NAME’: ‘privacyidea.app’, ‘SECRET_KEY’: ‘t0p s3cr3t’,
‘APPLICATION_ROOT’: None, ‘SERVER_NAME’: None, ‘PREFERRED_URL_SCHEME’:
‘http’, ‘TESTING’: False, ‘USE_X_SENDFILE’: False, ‘PI_AUDIT_MODULE’:
‘privacyidea.lib.auditmodules.sqlaudit’, ‘SESSION_COOKIE_SECURE’: False,
‘SQLALCHEMY_BINDS’: None, ‘DEBUG’: False, ‘SQLALCHEMY_COMMIT_ON_TEARDOWN’:
False, ‘JSONIFY_PRETTYPRINT_REGULAR’: True, ‘PROPAGATE_EXCEPTIONS’: None,
‘PI_LOGLEVEL’: 10, ‘TRAP_BAD_REQUEST_ERRORS’: False, ‘JSON_SORT_KEYS’:
True, ‘SESSION_COOKIE_HTTPONLY’: True, ‘SEND_FILE_MAX_AGE_DEFAULT’: 43200,
‘PI_AUDIT_KEY_PRIVATE’: ‘/etc/privacyidea/private.pem’, ‘SUPERUSER_REALM’:
[‘super’, ‘administrators’]}>,) and keywords {}
[2016-02-24
12:29:14,766][16245][140350605719296][DEBUG][privacyidea.lib.audit:118]
Entering getAuditClass with arguments
(‘privacyidea.lib.auditmodules.sqlaudit’, ‘Audit’) and keywords {}
[2016-02-24
12:29:14,766][16245][140350605719296][DEBUG][privacyidea.lib.audit:73]
klass: <class ‘privacyidea.lib.auditmodules.sqlaudit.Audit’>
[2016-02-24
12:29:14,766][16245][140350605719296][DEBUG][privacyidea.lib.audit:129]
Exiting getAuditClass with result <class
‘privacyidea.lib.auditmodules.sqlaudit.Audit’>
[2016-02-24
12:29:14,766][16245][140350605719296][DEBUG][privacyidea.lib.auditmodules.sqlaudit:142]
using the connect string mysql://user:password@localhost/privacyidea
[2016-02-24
12:29:14,772][16245][140350605719296][DEBUG][privacyidea.lib.audit:129]
Exiting getAudit with result <privacyidea.lib.auditmodules.sqlaudit.Audit
object at 0x7fa5f9ce1d10>
[2016-02-24
12:29:14,773][16245][140350605719296][DEBUG][privacyidea.lib.user:118]
Entering get_user_list with arguments ({‘realm’: u’mysql-realm’},) and
keywords {}
[2016-02-24
12:29:14,773][16245][140350605719296][DEBUG][privacyidea.lib.realm:118]
Entering get_realms with arguments (u’mysql-realm’,) and keywords {}
[2016-02-24
12:29:14,777][16245][140350605719296][DEBUG][privacyidea.lib.realm:129]
Exiting get_realms with result {u’mysql-realm’: {‘default’: True,
‘resolver’: [{‘priority’: 1L, ‘type’: u’sqlresolver’, ‘name’:
u’mysql-backend’}]}}
[2016-02-24
12:29:14,777][16245][140350605719296][DEBUG][privacyidea.lib.user:609]
Check for resolver class: u’mysql-backend’
[2016-02-24
12:29:14,777][16245][140350605719296][DEBUG][privacyidea.lib.resolver:118]
Entering get_resolver_object with arguments (u’mysql-backend’,) and
keywords {}
[2016-02-24
12:29:14,778][16245][140350605719296][DEBUG][privacyidea.lib.resolver:118]
Entering get_resolver_list with arguments () and keywords
{‘filter_resolver_name’: u’mysql-backend’}
[2016-02-24
12:29:14,783][16245][140350605719296][DEBUG][privacyidea.lib.crypto:118]
Entering decryptPassword with arguments
(u’c8911852421ce9a08c34947efd541e9f:cfaa876db72736dd1f96b47d1e1e3757422f1303ff27d3c6589b6b18905d3eac14d313b836437c68f3357b5b01659b32’,)
and keywords {}
[2016-02-24
12:29:14,783][16245][140350605719296][DEBUG][privacyidea.lib.crypto:131]
Exiting decryptPassword with result HIDDEN
[2016-02-24
12:29:14,783][16245][140350605719296][DEBUG][privacyidea.lib.resolver:129]
Exiting get_resolver_list with result {u’mysql-backend’: {‘data’: {u’Map’:
u’{ “userid” : “USERID”, “givenname” : “FIRSTNAME”, “surname” : “LASTNAME”,
“email” : “EMAIL”, “password” : “PASSWORD” }‘, u’Encoding’: u’‘, u’Driver’:
u’mysql’, u’Database’: u’idp’, u’Editable’: u’1’, u’poolSize’: u’‘,
u’Server’: u’127.0.0.1’, u’Limit’: u’500’, u’User’: u’idp’, u’poolTimeout’:
u’‘, u’Table’: u’users’, u’Password’: ‘lo43sYVfMA3xMGK1mn23’, u’Where’:
u’‘, u’Port’: u’3306’, u’conParams’: u’‘}, ‘type’: u’sqlresolver’,
‘resolvername’: u’mysql-backend’}}
[2016-02-24
12:29:14,783][16245][140350605719296][DEBUG][privacyidea.lib.config:118]
Entering get_resolver_list with arguments () and keywords {}
[2016-02-24
12:29:14,784][16245][140350605719296][DEBUG][privacyidea.lib.config:421]
None
[2016-02-24
12:29:14,784][16245][140350605719296][DEBUG][privacyidea.lib.config:129]
Exiting get_resolver_list with result
set([‘privacyidea.lib.resolvers.PasswdIdResolver’,
‘privacyidea.lib.resolvers.SCIMIdResolver’,
‘privacyidea.lib.resolvers.SQLIdResolver’,
‘privacyidea.lib.resolvers.LDAPIdResolver’])
[2016-02-24
12:29:14,784][16245][140350605719296][DEBUG][privacyidea.lib.config:553]
using the module list: set([‘privacyidea.lib.resolvers.PasswdIdResolver’,
‘privacyidea.lib.resolvers.SCIMIdResolver’,
‘privacyidea.lib.resolvers.SQLIdResolver’,
‘privacyidea.lib.resolvers.LDAPIdResolver’])
[2016-02-24
12:29:14,784][16245][140350605719296][DEBUG][privacyidea.lib.config:561]
import module: privacyidea.lib.resolvers.PasswdIdResolver
[2016-02-24
12:29:14,784][16245][140350605719296][DEBUG][privacyidea.lib.config:561]
import module: privacyidea.lib.resolvers.SCIMIdResolver
[2016-02-24
12:29:14,784][16245][140350605719296][DEBUG][privacyidea.lib.config:561]
import module: privacyidea.lib.resolvers.SQLIdResolver
[2016-02-24
12:29:14,784][16245][140350605719296][DEBUG][privacyidea.lib.config:561]
import module: privacyidea.lib.resolvers.LDAPIdResolver
[2016-02-24
12:29:14,784][16245][140350605719296][DEBUG][privacyidea.lib.config:374]
module: <module ‘privacyidea.lib.resolvers.PasswdIdResolver’ from
‘/opt/privacyIDEA/lib/python2.7/site-packages/privacyidea/lib/resolvers/PasswdIdResolver.pyc’>
[2016-02-24
12:29:14,785][16245][140350605719296][DEBUG][privacyidea.lib.config:374]
module: <module ‘privacyidea.lib.resolvers.SCIMIdResolver’ from
‘/opt/privacyIDEA/lib/python2.7/site-packages/privacyidea/lib/resolvers/SCIMIdResolver.pyc’>
[2016-02-24
12:29:14,785][16245][140350605719296][DEBUG][privacyidea.lib.config:374]
module: <module ‘privacyidea.lib.resolvers.SQLIdResolver’ from
‘/opt/privacyIDEA/lib/python2.7/site-packages/privacyidea/lib/resolvers/SQLIdResolver.pyc’>
[2016-02-24
12:29:14,785][16245][140350605719296][DEBUG][privacyidea.lib.config:374]
module: <module ‘privacyidea.lib.resolvers.LDAPIdResolver’ from
‘/opt/privacyIDEA/lib/python2.7/site-packages/privacyidea/lib/resolvers/LDAPIdResolver.pyc’>
[2016-02-24
12:29:14,785][16245][140350605719296][DEBUG][privacyidea.lib.resolver:118]
Entering get_resolver_config with arguments (u’mysql-backend’,) and
keywords {}
[2016-02-24
12:29:14,785][16245][140350605719296][DEBUG][privacyidea.lib.resolver:118]
Entering get_resolver_list with arguments () and keywords
{‘filter_resolver_name’: u’mysql-backend’}
[2016-02-24
12:29:14,790][16245][140350605719296][DEBUG][privacyidea.lib.crypto:118]
Entering decryptPassword with arguments
(u’c8911852421ce9a08c34947efd541e9f:cfaa876db72736dd1f96b47d1e1e3757422f1303ff27d3c6589b6b18905d3eac14d313b836437c68f3357b5b01659b32’,)
and keywords {}
[2016-02-24
12:29:14,790][16245][140350605719296][DEBUG][privacyidea.lib.crypto:131]
Exiting decryptPassword with result HIDDEN
[2016-02-24
12:29:14,791][16245][140350605719296][DEBUG][privacyidea.lib.resolver:129]
Exiting get_resolver_list with result {u’mysql-backend’: {‘data’: {u’Map’:
u’{ “userid” : “USERID”, “givenname” : “FIRSTNAME”, “surname” : “LASTNAME”,
“email” : “EMAIL”, “password” : “PASSWORD” }‘, u’Encoding’: u’‘, u’Driver’:
u’mysql’, u’Database’: u’idp’, u’Editable’: u’1’, u’poolSize’: u’‘,
u’Server’: u’127.0.0.1’, u’Limit’: u’500’, u’User’: u’idp’, u’poolTimeout’:
u’‘, u’Table’: u’users’, u’Password’: ‘lo43sYVfMA3xMGK1mn23’, u’Where’:
u’‘, u’Port’: u’3306’, u’conParams’: u’‘}, ‘type’: u’sqlresolver’,
‘resolvername’: u’mysql-backend’}}
[2016-02-24
12:29:14,791][16245][140350605719296][DEBUG][privacyidea.lib.resolver:129]
Exiting get_resolver_config with result {u’Map’: u’{ “userid” : “USERID”,
“givenname” : “FIRSTNAME”, “surname” : “LASTNAME”, “email” : “EMAIL”,
“password” : “PASSWORD” }‘, u’Encoding’: u’‘, u’Driver’: u’mysql’,
u’Database’: u’idp’, u’Editable’: u’1’, u’poolSize’: u’‘, u’Server’:
u’127.0.0.1’, u’Limit’: u’500’, u’User’: u’idp’, u’poolTimeout’: u’‘,
u’Table’: u’users’, u’Password’: ‘lo43sYVfMA3xMGK1mn23’, u’Where’: u’‘,
u’Port’: u’3306’, u’conParams’: u’‘}
[2016-02-24
12:29:14,792][16245][140350605719296][DEBUG][privacyidea.lib.resolvers.SQLIdResolver:647]
SQL connectstring: u’mysql://user:password@127.0.0.1:3306/idp’
[2016-02-24
12:29:14,792][16245][140350605719296][INFO][privacyidea.lib.resolvers.SQLIdResolver:567]
using the connect string mysql://user:password@127.0.0.1:3306/idp
[2016-02-24
12:29:14,793][16245][140350605719296][DEBUG][privacyidea.lib.resolvers.SQLIdResolver:570]
using pool_size=5 and pool_timeout=10
[2016-02-24
12:29:14,811][16245][140350605719296][DEBUG][privacyidea.lib.resolver:129]
Exiting get_resolver_object with result
<privacyidea.lib.resolvers.SQLIdResolver.IdResolver object at
0x7fa5d4886ad0>
[2016-02-24
12:29:14,812][16245][140350605719296][DEBUG][privacyidea.lib.user:611] with
this search dictionary: {‘username’: ‘*’}
[2016-02-24
12:29:14,812][16245][140350605719296][ERROR][privacyidea.lib.user:626]
TypeError(‘getattr(): attribute name must be string’,)
[2016-02-24
12:29:14,812][16245][140350605719296][DEBUG][privacyidea.lib.user:627]
Traceback (most recent call last):
File
“/opt/privacyIDEA/lib/python2.7/site-packages/privacyidea/lib/user.py”,
line 612, in get_user_list
ulist = y.getUserList(searchDict)
File
“/opt/privacyIDEA/lib/python2.7/site-packages/privacyidea/lib/resolvers/SQLIdResolver.py”,
line 500, in getUserList
conditions.append(getattr(self.TABLE, column).like(value))
TypeError: getattr(): attribute name must be string

[2016-02-24
12:29:14,812][16245][140350605719296][DEBUG][privacyidea.lib.user:129]
Exiting get_user_list with result
[2016-02-24
12:29:14,835][16245][140350605719296][DEBUG][privacyidea.api.lib.utils:235]
Can not get param: No JSON object could be decodedOn Wednesday, February 24, 2016 at 6:56:08 PM UTC+1, Michael Urspringer wrote:

I created SQL resolver for MySQL and the “Test” button shows me the
correct number of users. I also can add new users via the privacyIDEA web
interface to that SQL database. However, as soon as I want to list my
users in privacyIDEA web interface no users are displayed and in the error
log I see this message:

[2016-02-24
11:36:39,023][10987][140055712585472][ERROR][privacyidea.lib.user:626]
TypeError(‘getattr(): attribute name must be string’,)

This is my attribute mapping in the resolver:

{ “userid” : “USERID” , “givenname” : “FIRSTNAME” , “surname” : “LASTNAME”
, “email” : “EMAIL” , “password” : “PASSWORD” }

And this is my database structure:

CREATE TABLE users (

USERID int(11) NOT NULL AUTO_INCREMENT,
EMAIL varchar(30) NOT NULL,
FIRSTNAME varchar(30) NOT NULL,
LASTNAME varchar(30) NOT NULL,
PASSWORD varchar(30) NOT NULL,
PRIMARY KEY (USERID)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

I tried to change all fields to “TEXT” instead of “VARCHAR” and also a
USERID with type VARCHAR instead of INT. But I guess I miss something else
as the issue is also if I just use one of these fields.

Maybe I understood something wrong here?

Ok, found the issue. “username” needs to be mapped as well … thought
“userid” is the mandatory attribute, everything else would be optional. I
now use that mapping it that works:

{ “userid” : “USERID”, “username” : “EMAIL”, “givenname” : “FIRSTNAME”,
“surname” : “LASTNAME”, “email” : “EMAIL”, “password” : “PASSWORD” }>

turn on debug and take a look at the traceback.Am Mittwoch, den 24.02.2016, 09:56 -0800 schrieb Michael Urspringer:

I created SQL resolver for MySQL and the “Test” button shows me the
correct number of users. I also can add new users via the privacyIDEA
web interface to that SQL database. However, as soon as I want to list
my users in privacyIDEA web interface no users are displayed and in
the error log I see this message:

[2016-02-24
11:36:39,023][10987][140055712585472][ERROR][privacyidea.lib.user:626]
TypeError(‘getattr(): attribute name must be string’,)

This is my attribute mapping in the resolver:

{ “userid” : “USERID” , “givenname” : “FIRSTNAME” , “surname” :
“LASTNAME” , “email” : “EMAIL” , “password” : “PASSWORD” }

And this is my database structure:

CREATE TABLE users (

USERID int(11) NOT NULL AUTO_INCREMENT,
EMAIL varchar(30) NOT NULL,
FIRSTNAME varchar(30) NOT NULL,
LASTNAME varchar(30) NOT NULL,
PASSWORD varchar(30) NOT NULL,
PRIMARY KEY (USERID)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

I tried to change all fields to “TEXT” instead of “VARCHAR” and also a
USERID with type VARCHAR instead of INT. But I guess I miss something
else as the issue is also if I just use one of these fields.

Maybe I understood something wrong here?


Please read the blog post about getting help
Getting help – privacyID3A.

For professional services and consultancy regarding two factor
authentication please visit
One Time Services - NetKnights - IT-Sicherheit - Zwei-Faktor-Authentisierung - Verschlüsselung

In an enterprise environment you should get a SERVICE LEVEL AGREEMENT
which suites your needs for SECURITY, AVAILABILITY and LIABILITY:
privacyIDEA Support Level

You received this message because you are subscribed to the Google
Groups “privacyidea” group.
To unsubscribe from this group and stop receiving emails from it, send
an email to privacyidea+unsubscribe@googlegroups.com.
To post to this group, send email to privacyidea@googlegroups.com.
Visit this group at https://groups.google.com/group/privacyidea.
To view this discussion on the web visit
https://groups.google.com/d/msgid/privacyidea/f7b6edfe-349f-4533-a5d9-446904dc8364%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Cornelius Kölbel
@cornelinux
+49 151 2960 1417

NetKnights GmbH
http://www.netknights.it
Landgraf-Karl-Str. 19, 34131 Kassel, Germany
Tel: +49 561 3166797, Fax: +49 561 3166798

Amtsgericht Kassel, HRB 16405
Geschäftsführer: Cornelius Kölbel

signature.asc (836 Bytes)