Hi,
I have a requirement, where I want my Input parameters in an encrypted form.
Currently : URL looks like
Instead of BookingId=1 I want BookingId=(Encrypted) I gone through these solutions related to GUID : https://www.outsystems.com/forums/discussion/39302/guid-generator/
And I want to achieve these requirement without any forge component like CryptoAPI.can some one help me, how can I implement this requirement.
Thanks,
Palle Vijay Bhaskar Reddy
Hello Vijay,
Following are the steps to achieve this functionality:-
1) Add one attribute( Datatype = Text) in your entity.
2) Call the GenerateGuid function in to your create entity record server action. Assign the output of the GenerateGuid to the newly added attribute and call the create record action.
3) When you are passing the input parameter to the screen it should be of text datatype and the filter the same in the detail screen aggregate with the attribute we added in the entity.
Thanks and Regards,
Pavan Rajapurkar
Thanks Pavan,Exact requirement which I need without any forge component.
Hi Vijay,
Were you able to achieve the encryption without any forge component? Just checking, I have the same requirements to hide ID values from URL.
Nahar
can i get the sample OML? Thanks
sorry i just check you mention you need without forge component so i deleted my post
if you still want that answer here i have attached Component URL and OML for your reference
https://www.outsystems.com/forge/component-overview/956/crypto-aes
thanks
Akshay Deshpande
Hi Palle Vijay Bhaskar Reddy,
I suggest you read this article from OutSystems MVP Justin James on how to "hide" IDs in URLs.
He wrote it a while ago based on URLs in Traditional Web Apps, but the same method applies for Reactive Web Apps.
Regards,
Nordin
Hi Nordin,After going through the post, I would like to implement using GUID but I don't have any idea how to implement this using GUID as id parameter, can you please share the steps for implementing this.Thank you.
The instructions are pretty clearly described in the article:
In situations where you need to keep the ID “unguessable” (in fancy computer science terms, “non-deterministic”), add an Attribute to your Entity of type “Text”, make sure that you create an index on it, and populate it with the “GenerateGuid” Action (from “System”). Then, use this GUID as your ID that goes in the URL, and change your queries to query against this new Attribute.
You can also store the ID with a unique GUID on a database and send the GUID to the new screen.In the new screen you can lookup the ID in the database by filtering the GUID. I would also recommend a creation time and timer to delete old GUIDs. You could improve security by limiting the time that is allowed to use the guid by filtering creationtime is within couple of seconds.
Good luck!
Hello Vijay ,
I am also agree with the nordin,
if you have just issue related to the URL parameter than i have one more suggestion to you that
you will set non-mandatory (but you will need to pass the booking id) as input parameter so it will not display in the URL.
Akshay Deshpande.
Hi Akshay,I'm checking the previous answer which you had posted, Sorry I don't know why deleted.Link : https://akshayproject.outsystemscloud.com/EncryptedDecrypted/but I haven't found the forge component which you mentioned CryptoAESThank you
Thanks Akshay
I tried with a forge component and I got it as per my requirement.But I'm trying to get without forge component.