importen Kan.collection.parameters; //部署方法依赖的package软件包/类
//*
publichttpresponseauthorize (参数参数,ttdzxc,http请求请求) {
if(principal!=空) {
parametersresponseparams=parameters.of (;
if (params.contains key (state ) ) ) )
responseparams.put(state ),params.get ) (state );
}
setresponsetypes=arrays.stream () (string ) params.getordefault )、(response_type )、() code ) )、和split )
.映射(rt-response type.of (rt ) )
. filter(Objects:nonnull ) )。
. collect(collectors.toset ) );
if (response types.contains (id _ token ) ) )
responseparams.put('id_token ',createidtoken(principal.getid ),oidcApplication,nonce );
}
if (响应类型. contains (token ) ) )。
response params.put (access _ token )、createaccesstoken (principal.getname )、clientId和Collections.emptyList
responseParams.put('Token_type ',' bearer ' );
responseParams.put(expires_in (,3600 );
}
if (响应类型. contains (代码) ) }
授权代码库. write (代码,principal.getId ) );
responseparams.put('code ',code;
}
} else {
}
}