If I had a dollar for every time someone forgets the ,1) on %request.Data(...
This line:
if ServiceName="%Service_WebGateway",$data(%request.Data(##class(%OAuth2.Login).#SessionQueryParameter),state) {
Should be something like:
if ServiceName="%Service_WebGateway" {
set sessionQueryParameter = ##class(%OAuth2.Login).#SessionQueryParameter
set state = $get(%request.Data(sessionQueryParameter,1))
if state '= "" {
...
}