While I am not sure of an answer for you, I wanted to let you know that I am going to share your question with the Data and Analytics and Canvas Developers groups here in the Canvas Community in hopes that your question will get some additional exposure. If you are not following either of these groups, please use the links that I've provided, and then click on the "Follow" button for each at the top right corner of those pages. Also, next to each of those buttons is a link called "Actions". Click on that link, and then choose "Join group". I hope this will be helpful to you, Amir. Good luck!

You cannot get a REST API token from the LTI data. These are completely different things.

If you want to make REST API calls from your LTI tool, you need to either use a manually generated token, or if your tool just needs the permissions of the user, use OAuth2 as described at OAuth2 - Canvas LMS REST API Documentation.

No worries I am appreciated of the answer. I am using canvas.sfu.ca. When the app initializes at canvas I get above respond from canvas which has user_id, user_image url, oauth_signature, oauth_consumer_key, oauth_signature_method etc.... as I posted

When you add an assignment you choose External Tool and give the URL to you tool. If will then be launched with two extra parameters lis_outcome_service_url and lis_result_sourcedid.You then send some XML to the service URL with the grade and result identifier. See Grade Passback Tools - Canvas LMS REST API Documentation