Skip to content
This repository has been archived by the owner on Sep 18, 2021. It is now read-only.

Commit

Permalink
Remove disabled endpoints from routing table #1543
Browse files Browse the repository at this point in the history
  • Loading branch information
brockallen committed Oct 8, 2015
1 parent 8b3ee74 commit 958ccd4
Show file tree
Hide file tree
Showing 14 changed files with 129 additions and 26 deletions.
111 changes: 110 additions & 1 deletion source/Core/Configuration/Hosting/WebApiConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,116 @@ private static void ConfigureRoutes(IdentityServerOptions options, HttpConfigura
{
if (options.EnableWelcomePage)
{
config.Routes.MapHttpRoute(Constants.RouteNames.Welcome, Constants.RoutePaths.Welcome, new { controller = "Welcome", action = "Get" });
config.Routes.MapHttpRoute(
Constants.RouteNames.Welcome,
Constants.RoutePaths.Welcome,
new { controller = "Welcome", action = "Get" });
}

if (options.Endpoints.EnableAccessTokenValidationEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.AccessTokenValidation,
Constants.RoutePaths.Oidc.AccessTokenValidation,
new { controller = "AccessTokenValidation" });
}

if (options.Endpoints.EnableAuthorizeEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.Authorize,
Constants.RoutePaths.Oidc.Authorize,
new { controller = "AuthorizeEndpoint", action = "Get" });
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.Consent,
Constants.RoutePaths.Oidc.Consent,
new { controller = "AuthorizeEndpoint", action = "PostConsent" });
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.SwitchUser,
Constants.RoutePaths.Oidc.SwitchUser,
new { controller = "AuthorizeEndpoint", action = "LoginAsDifferentUser" });
}

if (options.Endpoints.EnableCheckSessionEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.CheckSession,
Constants.RoutePaths.Oidc.CheckSession,
new { controller = "CheckSessionEndpoint" });
}

if (options.Endpoints.EnableClientPermissionsEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.ClientPermissions,
Constants.RoutePaths.ClientPermissions,
new { controller = "ClientPermissions" });
}

if (options.Endpoints.EnableCspReportEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.CspReport,
Constants.RoutePaths.CspReport,
new { controller = "CspReport" });
}

if (options.Endpoints.EnableDiscoveryEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.DiscoveryConfiguration,
Constants.RoutePaths.Oidc.DiscoveryConfiguration,
new { controller = "DiscoveryEndpoint", action = "GetConfiguration" });
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.DiscoveryWebKeys,
Constants.RoutePaths.Oidc.DiscoveryWebKeys,
new { controller = "DiscoveryEndpoint", action= "GetKeyData" });
}

if (options.Endpoints.EnableEndSessionEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.EndSession,
Constants.RoutePaths.Oidc.EndSession,
new { controller = "EndSession", action = "Logout" });
}

// this one is always enabled/allowed (for use by our logout page)
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.EndSessionCallback,
Constants.RoutePaths.Oidc.EndSessionCallback,
new { controller = "EndSession", action = "LogoutCallback" });

if (options.Endpoints.EnableIdentityTokenValidationEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.IdentityTokenValidation,
Constants.RoutePaths.Oidc.IdentityTokenValidation,
new { controller = "IdentityTokenValidation" });
}

if (options.Endpoints.EnableTokenEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.Token,
Constants.RoutePaths.Oidc.Token,
new { controller = "TokenEndpoint", action= "Post" });
}

if (options.Endpoints.EnableTokenRevocationEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.Revocation,
Constants.RoutePaths.Oidc.Revocation,
new { controller = "RevocationEndpoint", action = "Post" });
}

if (options.Endpoints.EnableUserInfoEndpoint)
{
config.Routes.MapHttpRoute(
Constants.RouteNames.Oidc.UserInfo,
Constants.RoutePaths.Oidc.UserInfo,
new { controller = "UserInfoEndpoint" });
}
}

Expand Down
9 changes: 8 additions & 1 deletion source/Core/Constants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -541,12 +541,19 @@ public static class RouteNames

public static class Oidc
{
public const string AccessTokenValidation = "idsrv.oidc.accesstokenvalidation";
public const string Authorize = "idsrv.oidc.authorize";
public const string Consent = "idsrv.oidc.consent";
public const string SwitchUser = "idsrv.oidc.switch";
public const string CheckSession = "idsrv.oidc.checksession";
public const string DiscoveryConfiguration = "idsrv.oidc.discoveryconfiguration";
public const string DiscoveryWebKeys = "idsrv.oidc.discoverywebkeys";
public const string EndSession = "idsrv.oidc.endsession";
public const string EndSessionCallback = "idsrv.oidc.endsessioncallback";
public const string CheckSession = "idsrv.oidc.checksession";
public const string IdentityTokenValidation = "idsrv.oidc.identitytokenvalidation";
public const string Token = "idsrv.oidc.token";
public const string Revocation = "idsrv.oidc.revocation";
public const string UserInfo = "idsrv.oidc.userinfo";
}
}

Expand Down
2 changes: 0 additions & 2 deletions source/Core/Endpoints/ClientPermissionsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ internal class ClientPermissionsController : ApiController
this.antiForgeryToken = antiForgeryToken;
}

[Route(Constants.RoutePaths.ClientPermissions)]
[HttpGet]
public async Task<IHttpActionResult> ShowPermissions()
{
Expand All @@ -89,7 +88,6 @@ public async Task<IHttpActionResult> ShowPermissions()
return await RenderPermissionsPage();
}

[Route(Constants.RoutePaths.ClientPermissions, Name = Constants.RouteNames.ClientPermissions)]
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IHttpActionResult> RevokePermission(RevokeClientPermission model)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ namespace IdentityServer3.Core.Endpoints
/// <summary>
/// Endpoint for validating access tokens
/// </summary>
[RoutePrefix(Constants.RoutePaths.Oidc.AccessTokenValidation)]
[NoCache]
internal class AccessTokenValidationController : ApiController
{
Expand All @@ -54,7 +53,7 @@ public AccessTokenValidationController(TokenValidator validator, IdentityServerO
/// GET
/// </summary>
/// <returns>Claims if token is valid</returns>
[Route]
[HttpGet]
public async Task<IHttpActionResult> Get()
{
Logger.Info("Start access token validation request");
Expand All @@ -76,7 +75,7 @@ public async Task<IHttpActionResult> Get()
/// POST
/// </summary>
/// <returns>Claims if token is valid</returns>
[Route]
[HttpPost]
public async Task<IHttpActionResult> Post()
{
Logger.Info("Start access token validation request");
Expand Down
4 changes: 1 addition & 3 deletions source/Core/Endpoints/Connect/AuthorizeEndpointController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ internal class AuthorizeEndpointController : ApiController
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
[Route(Constants.RoutePaths.Oidc.Authorize, Name = Constants.RouteNames.Oidc.Authorize)]
[HttpGet]
public async Task<IHttpActionResult> Get(HttpRequestMessage request)
{
Logger.Info("Start authorize request");
Expand Down Expand Up @@ -174,7 +174,6 @@ private async Task<IHttpActionResult> ProcessRequestAsync(NameValueCollection pa
return await CreateAuthorizeResponseAsync(request);
}

[Route(Constants.RoutePaths.Oidc.Consent, Name = Constants.RouteNames.Oidc.Consent)]
[HttpPost]
[ValidateAntiForgeryToken]
public Task<IHttpActionResult> PostConsent(UserConsent model)
Expand All @@ -183,7 +182,6 @@ public Task<IHttpActionResult> PostConsent(UserConsent model)
return ProcessRequestAsync(Request.RequestUri.ParseQueryString(), model ?? new UserConsent());
}

[Route(Constants.RoutePaths.Oidc.SwitchUser, Name = Constants.RouteNames.Oidc.SwitchUser)]
[HttpGet]
public async Task<IHttpActionResult> LoginAsDifferentUser()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public CheckSessionEndpointController(IdentityServerOptions options)
/// GET
/// </summary>
/// <returns>Check session iframe page</returns>
[Route(Constants.RoutePaths.Oidc.CheckSession, Name=Constants.RouteNames.Oidc.CheckSession)]
[HttpGet]
public IHttpActionResult Get()
{
Logger.Info("Check session iframe request");
Expand Down
4 changes: 2 additions & 2 deletions source/Core/Endpoints/Connect/DiscoveryEndpointController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public DiscoveryEndpointController(IdentityServerOptions options, IScopeStore sc
/// GET
/// </summary>
/// <returns>Discovery document</returns>
[Route(Constants.RoutePaths.Oidc.DiscoveryConfiguration)]
[HttpGet]
public async Task<IHttpActionResult> GetConfiguration()
{
Logger.Info("Start discovery request");
Expand Down Expand Up @@ -137,7 +137,7 @@ public async Task<IHttpActionResult> GetConfiguration()
/// GET for JWKs
/// </summary>
/// <returns>JSON Web Key set</returns>
[Route(Constants.RoutePaths.Oidc.DiscoveryWebKeys)]
[HttpGet]
public IHttpActionResult GetKeyData()
{
Logger.Info("Start key discovery request");
Expand Down
2 changes: 0 additions & 2 deletions source/Core/Endpoints/Connect/EndSessionController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ public EndSessionController(IdentityServerOptions options, EndSessionRequestVali
/// GET
/// </summary>
/// <returns></returns>
[Route(Constants.RoutePaths.Oidc.EndSession, Name = Constants.RouteNames.Oidc.EndSession)]
[HttpGet]
public async Task<IHttpActionResult> Logout()
{
Expand Down Expand Up @@ -90,7 +89,6 @@ public async Task<IHttpActionResult> Logout()
/// Logout callback
/// </summary>
/// <returns></returns>
[Route(Constants.RoutePaths.Oidc.EndSessionCallback, Name = Constants.RouteNames.Oidc.EndSessionCallback)]
[HttpGet]
public IHttpActionResult LogoutCallback()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ namespace IdentityServer3.Core.Endpoints
/// <summary>
/// Endpoint for validating identity tokens
/// </summary>
[RoutePrefix(Constants.RoutePaths.Oidc.IdentityTokenValidation)]
[NoCache]
internal class IdentityTokenValidationController : ApiController
{
Expand All @@ -54,7 +53,7 @@ public IdentityTokenValidationController(TokenValidator validator, IdentityServe
/// GET
/// </summary>
/// <returns>Claims if token is valid</returns>
[Route]
[HttpGet]
public async Task<IHttpActionResult> Get()
{
Logger.Info("Start identity token validation request");
Expand All @@ -76,7 +75,7 @@ public async Task<IHttpActionResult> Get()
/// POST
/// </summary>
/// <returns>Claims if token is valid</returns>
[Route]
[HttpPost]
public async Task<IHttpActionResult> Post()
{
Logger.Info("Start identity token validation request");
Expand Down
2 changes: 0 additions & 2 deletions source/Core/Endpoints/Connect/RevocationEndpointController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ namespace IdentityServer3.Core.Endpoints
/// <summary>
/// Implementation of RFC 7009 (http://tools.ietf.org/html/rfc7009)
/// </summary>
[RoutePrefix(Constants.RoutePaths.Oidc.Revocation)]
[NoCache]
internal class RevocationEndpointController : ApiController
{
Expand All @@ -56,7 +55,6 @@ public RevocationEndpointController(IdentityServerOptions options, ClientSecretV
_events = events;
}

[Route]
[HttpPost]
public async Task<IHttpActionResult> Post()
{
Expand Down
3 changes: 1 addition & 2 deletions source/Core/Endpoints/Connect/TokenEndpointController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ namespace IdentityServer3.Core.Endpoints
/// <summary>
/// OAuth2/OpenID Conect token endpoint
/// </summary>
[RoutePrefix(Constants.RoutePaths.Oidc.Token)]
[NoCache]
[PreventUnsupportedRequestMediaTypes(allowFormUrlEncoded: true)]
internal class TokenEndpointController : ApiController
Expand Down Expand Up @@ -67,7 +66,7 @@ public TokenEndpointController(IdentityServerOptions options, TokenRequestValida
/// POST
/// </summary>
/// <returns>Token response</returns>
[Route]
[HttpPost]
public async Task<IHttpActionResult> Post()
{
Logger.Info("Start token request");
Expand Down
2 changes: 0 additions & 2 deletions source/Core/Endpoints/Connect/UserInfoEndpointController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ namespace IdentityServer3.Core.Endpoints
/// <summary>
/// OpenID Connect userinfo endpoint
/// </summary>
[RoutePrefix(Constants.RoutePaths.Oidc.UserInfo)]
[NoCache]
internal class UserInfoEndpointController : ApiController
{
Expand Down Expand Up @@ -67,7 +66,6 @@ public UserInfoEndpointController(IdentityServerOptions options, TokenValidator
/// </summary>
/// <param name="request">The request.</param>
/// <returns>userinfo response</returns>
[Route]
[HttpGet, HttpPost]
public async Task<IHttpActionResult> GetUserInfo(HttpRequestMessage request)
{
Expand Down
2 changes: 1 addition & 1 deletion source/Core/Endpoints/CspReportController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public CspReportController(IdentityServerOptions options, IEventService eventSer
this.eventService = eventService;
}

[Route(Constants.RoutePaths.CspReport, Name=Constants.RouteNames.CspReport)]
[HttpPost]
public async Task<IHttpActionResult> Post()
{
Logger.Info("CSP Report endpoint requested");
Expand Down
2 changes: 1 addition & 1 deletion source/Host/Config/Clients.cs

Large diffs are not rendered by default.

0 comments on commit 958ccd4

Please sign in to comment.