cancel
Showing results for 
Search instead for 
Did you mean: 

User credentials in non-latin characters (SMP)

Former Member
0 Kudos

I am using SAP Mobile Platform to logon to SAP with user credentials that use non-latin characters such as: ๆพะฟหกด. (thai)

I can logon to SAP directly (SAPlogon) and through normal http web-services with these credentials, but when I try to logon through SMP and Kapsel plug-in, it fails.

This is the test I do:

     I try to login with the test user test_ๆพะฟหกด

     I go to SAP Mobile Platform Administration and Monitoring and find the failed request with the user: test_???????

Another test I also tried:

     I try to login with a non-existing user test_äú

     In the logs I find the request made from the following user: test_??

Do I need to change the language of SMP to support other characters? Do I need to change its encoding to utf-8?

If so, how can I do this?

Thanks in advance!

Accepted Solutions (0)

Answers (2)

Answers (2)

andreas_wegmann
Employee
Employee
0 Kudos

Hi Ian,

first question would be on which version of SMP you are?
We had some issues in the past with non-latin chars which had been fixed in a PL.
I would suggest to verify with the latest available version.
Also, how do you test via REST client?
Could you please show the headers you are using?
Did you set "charset=utf-8"?


Did you verify the "login/password_charset" settings in the backend?

Which value is set? 0, 1 or 2?

Permissible values:

●  0 (restrictive): The password can only consist of digits, letters, and the following (ASCII) special characters: !"@ $%&/()=?’*+~#-_.,;:{[]}\<>│ and space and the grave accent.

●  1 (backward compatible, default value): The password can consist of any characters including national special characters (such as ä, ç, ß from ISO Latin-1, 8859-1). However, all characters that are not contained in the set above (for value = 0) are mapped to the same special character, and the system therefore does not differentiate between them.

●  2 (not backward compatible): The password can consist of any characters. It is converted internally into the Unicode format UTF-8. If your system does not support Unicode, you may not be able to enter all characters on the logon screen. This restriction is limited by the codepage specified by the system language.


Charset set in the Content-Type header only applies to the content and not to the http headers.

The HTTP provider can handle the special characters (umlaut and %).

So, I am guessing that the backend is interpreting the credentials using a different charset, perhaps utf-8.

HTTP provider uses iso-8859-1 which includes these special characters to encode the http headers.

This is the charset used by default by most the web servers.

If the backend server is decoding them using utf-8 then it would result in interpreting the credentials as incorrect resulting in a 401.

To confirm this, please set the log level to "trace" for the components:

- Backend Request Header Trace

- Backend Request Wire Trace

That should get the debug logs from httpclient library which prints the authorization header and can be verified that the valid username/password is being passed to the backend.

In which case the backend server should be configured to expect the http headers in iso-8859-1 charset.

KR

Andreas

Jitendra_Kansal
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Ian,

I created two local users (test_ๆพะฟหกด, test_äú)  in SMP Admin security profile and i am able to on-board SMP via REST client. but with kapsel logon plugin it doesn't work.

Maybe, Daniel Van can provide more information if those kind of characters are supported and how?


Regards,

JK