Allowing users to update information without logging in
The construction differs depending on your cms. 

Best info imo is at docs.civicrm.org/dev/en/master/framework/civimail/tokens 

You have pasted 

civicrm/profile/edit?reset=1&amp;gid=1&amp;id=2798&amp;5fb7dfc93d6b855d75659da64805ac82_1503574955_179

In point 5. you stated ** and the {contact. contact_id}** but i don't see that in your example.

You need to have cid={contact. contact_id} in the string so will not work