「应用安全」OAuth和OpenID Connect的全面比较(37)

您无需了解此代码的详细信息 。 关键是有一些路径允许在scope参数中不包含openid的情况 。 也就是说 , 接受传统的授权请求 。 如果是这样 , IdentityServer3的实现是不正确的 。 但是 , 另一方面 , 在AuthorizeRequestValidator.cs中的另一个位置 , 实现拒绝所有不包含redirect_uri参数的授权请求 , 如下所示(格式化已调整) 。

//////////////////////////////////////////////////////////

// redirect_uri must be present and a valid uri

//////////////////////////////////////////////////////////

var redirectUri = request.Raw.Get(Constants.AuthorizeRequest.RedirectUri);

if (redirectUri.IsMissingOrTooLong(

_options.InputLengthRestrictions.RedirectUri))

推荐阅读