Sign headers would update the dictionary in place
Changed so that it calls dict.update correctly from the returned auth
dict