The official stance of the Nationalist Socialist government was that non-White people were ineligible for German citizenship either retroactively or at any time in the present or future. The same applied to any other race or ethnicity that wasn't originally of European or non-Jewish origin. To that end, gypsies, Blacks, Arabs, and other minorities were considered second class citizens, and barred from serving in the military, government, or (eventually) private enterprise. This is accurate.
It's also true that Owens shook hands with Hitler, but not at the end of his successful sprint; he famously declined to do it at that time, not because of government policy but because the head of the Olympic committee had told him the day before to avoid congratulating any athlete after he'd shook hands with a German who'd won a gold medal. The photo Owens kept was of Hitler shaking his hand after the run, and this claim was made by Siegfried Mischner, whose statements were included in a book written about him by Jeremy Schaap. Why a respected sports reporter would fabricate this story or denigrate his memory is hard to explain; he had nothing to gain, and his comments in the book is otherwise favorable pretty much from cover to cover (I have it in my bookcase). Keep in mind Owens supposedly made these statements in the 1960s, long after the events. Blacks who came home after World War II were spat upon, kicked, punched, and generally treated worse than at any time in German POW camps, let alone in general society. It is therefore believable that Jesse Owens had a more favorable impression of that country than the United States, which only reluctantly started giving Blacks basic rights 30 years later. Once someone's slighted you early in life, your view of them is forever changed negatively. It's entirely possible that he went to his grave feeling he wasn't appreciated by his team or his country when he represented them at his best at the 1936 Olympics.