How can I set Person.Password attribute manually which is related Password Reset Web?

I tried to set a cleartext password for Person.Password attribute (exp:Passw0rd1.) But when I tried "I have a passcode" function on Password Reset Web page, I faced an error "Failed to authenticate user: Not yet implemented -> [Hash function for key Passw0rd1.]". I think there should be a way to set Person.Password value manually  and maybe there is a script for generate specific password for this attribute...

Parents Reply Children
  • Hi Markus,

    We are using version 8.1.1 currently.   I don't understand what do you mean saying that Person.Password does not exist in the product. I can see that field in ObjectBrowser. 

    Accually we want to generate passcode and send sms to the user that passcode on the webside or backend side which is more avaliable technically.. Is that possible? If I can learn how can i generate a passcode and assign that passcode to the user  then I can figure out rest...

    Here you can see the screenshott about Person.Password attribute.

    https://im.ge/i/O5W4Q1 

  • As I have told you, the property Person.Password does not exist. You are talking about Person.Passcode.

    To create a passcode, you need to call the method CreatePasscode(hoursValid as Integer) at the person object using the entity layer. The method will return the generated passcode.

  • Sorry for my typo.  I have created a process and script and now I can generate a passcode for a person and I can use it on Password Web Side (I have a passcode).

    Now I should trigger my process when user chooses authentication method  (I have a passcode ) on the PRW site. I think I can handle it via web designer. Can I call the same method (createPassword) via Web Designer?  Or what is the best way you can suggest?

    Here is my code sample: 

    Dim Pers As ISingleDbObject = Connection.CreateSingle(New DBObjectKey("<Key><T>Person</T><P>989160c4-7de1-471c-89bd-9ed55e7db15f</P></Key>"))

    'MsgBox(Pers.GetValue("PersonnelNumber").ToString)

    Dim hoursValid As Long = CInt(Connection.GetConfigParm("QER\Attestation\NewExternalUserTimeoutInHours"))

    Dim passCode As String = Pers.Custom.CallMethod("CreatePassCode", hoursValid).ToString

    Pers.Save()

    VID_write2Log("C:\Users\administrator.ISBANK\Desktop\Test.txt",passCode)


    Dim passCodeEncoded As String = System.Net.WebUtility.UrlEncode(passCode)
    VID_write2Log("C:\Users\administrator.ISBANK\Desktop\Test.txt",passCodeEncoded)

    Dim verificationLink As String = _
    String.Format("{0}/page.axd?ContextID=QER_PasswordWeb_Session&aeweb_UID_AttestationCase={1}&aeweb_PassCode={2}", _
    QER_GetWebPasswordResetURL(), _
    $UID_AttestationCase$, _
    passCodeEncoded)

    VID_write2Log("C:\Users\administrator.ISBANK\Desktop\Test.txt",verificationLink)

    Thank you,

  • Technically, you should be able to call the method, but I would trigger a process (Event) to avoid potential permission issues as you are not fully authenticated at this point in time at the Password Reset Web.

  • We can not update or insert any default table (exp: Person) or cstom table via using Password Reset Web.. We can not load any tablo also.. Because we are not login at that time.. How can we figure out that issue? I need to do a least one of them from PRW site : callmehod / trigger event / update Person attribute . It doesn't allow nothing...

  • You said that "I would trigger a process from Password Reset Web".. Is that possible and how? 

  • Hi Markuss,

    Yes we can technically call the method but we are not authenticated at that time so we get error about that. How can we figure out that authenticate part? I am sure there should be a trick for bypass the authenticate step.. Maybe we can authenticate with a specific user for every time for skipping the permission and auth. issues to OneIM database. Is that possible and How can we manuellay authenticate with an user in Password reset Portal ?

  • Sorry, but I am unable to give you any advice about the password reset portal's inner workings. Maybe another member here is able to help you out.

  • Thank you Markuss, no problem.

    We  successfully called appserver api via powershell or using api server in OneIM appserver api page. I just used viadmin for authentication. So that means I can call api server  everywhere. Now I need to find a way for calling appserver api from Password Reset Web Portal. If it is not possible , I can try to call a powershell file from Password Reset Portal. Both ways are ok for me.. I just need to know how can I execute something in Password Reset Portal..?

  • Hi,
    To authenticate to the application (or the App Server in particular), you can set a fixed connection string in the web.config (don't forget to encrypt).

    Then use something like the following code:

                VI.DB.IConnection newConnection;
                using (newConnection)
                {
                    var connectionString =
                        System.Configuration.ConfigurationManager.ConnectionStrings["name-of-the-connection-string"].ConnectionString;
                    newConnection.Authenticate(connectionString);

                    // ... do what you need to do inside the connection
                }