001/* 002 * oauth2-oidc-sdk 003 * 004 * Copyright 2012-2016, Connect2id Ltd and contributors. 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use 007 * this file except in compliance with the License. You may obtain a copy of the 008 * License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software distributed 013 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 014 * CONDITIONS OF ANY KIND, either express or implied. See the License for the 015 * specific language governing permissions and limitations under the License. 016 */ 017 018package com.nimbusds.oauth2.sdk.as; 019 020 021import java.net.URI; 022 023import net.minidev.json.JSONObject; 024 025 026/** 027 * Read-only OAuth 2.0 Authorisation Server (AS) endpoint metadata. 028 * 029 * <p>Related specifications: 030 * 031 * <ul> 032 * <li>OAuth 2.0 Authorization Server Metadata (RFC 8414) 033 * <li>OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound 034 * Access Tokens (RFC 8705) 035 * <li>OAuth 2.0 Pushed Authorization Requests (RFC 9126) 036 * <li>OAuth 2.0 Device Authorization Grant (RFC 8628) 037 * <li>OpenID Connect Client Initiated Backchannel Authentication Flow - 038 * Core 1.0 039 * </ul> 040 */ 041public interface ReadOnlyAuthorizationServerEndpointMetadata { 042 043 044 /** 045 * Gets the authorisation endpoint URI. Corresponds the 046 * {@code authorization_endpoint} metadata field. 047 * 048 * @return The authorisation endpoint URI, {@code null} if not 049 * specified. 050 */ 051 URI getAuthorizationEndpointURI(); 052 053 054 /** 055 * Gets the token endpoint URI. Corresponds the {@code token_endpoint} 056 * metadata field. 057 * 058 * @return The token endpoint URI, {@code null} if not specified. 059 */ 060 URI getTokenEndpointURI(); 061 062 063 /** 064 * Gets the client registration endpoint URI. Corresponds to the 065 * {@code registration_endpoint} metadata field. 066 * 067 * @return The client registration endpoint URI, {@code null} if not 068 * specified. 069 */ 070 URI getRegistrationEndpointURI(); 071 072 073 /** 074 * Gets the token introspection endpoint URI. Corresponds to the 075 * {@code introspection_endpoint} metadata field. 076 * 077 * @return The token introspection endpoint URI, {@code null} if not 078 * specified. 079 */ 080 URI getIntrospectionEndpointURI(); 081 082 083 /** 084 * Gets the token revocation endpoint URI. Corresponds to the 085 * {@code revocation_endpoint} metadata field. 086 * 087 * @return The token revocation endpoint URI, {@code null} if not 088 * specified. 089 */ 090 URI getRevocationEndpointURI(); 091 092 093 /** 094 * Gets the request object endpoint. Corresponds to the 095 * {@code request_object_endpoint} metadata field. 096 * 097 * @return The request object endpoint, {@code null} if not specified. 098 */ 099 @Deprecated 100 URI getRequestObjectEndpoint(); 101 102 103 /** 104 * Gets the pushed authorisation request endpoint. Corresponds to the 105 * {@code pushed_authorization_request_endpoint} metadata field. 106 * 107 * @return The pushed authorisation request endpoint, {@code null} if 108 * not specified. 109 */ 110 URI getPushedAuthorizationRequestEndpointURI(); 111 112 113 /** 114 * Gets the device authorization endpoint URI. Corresponds the 115 * {@code device_authorization_endpoint} metadata field. 116 * 117 * @return The device authorization endpoint URI, {@code null} if not 118 * specified. 119 */ 120 URI getDeviceAuthorizationEndpointURI(); 121 122 123 /** 124 * Gets the back-channel authentication endpoint URI. Corresponds the 125 * {@code backchannel_authentication_endpoint} metadata field. 126 * 127 * @return The back-channel authentication endpoint URI, {@code null} 128 * if not specified. 129 */ 130 URI getBackChannelAuthenticationEndpointURI(); 131 132 133 /** 134 * Gets the back-channel authentication endpoint URI. Corresponds the 135 * {@code backchannel_authentication_endpoint} metadata field. 136 * 137 * @deprecated Use {@link #getBackChannelAuthenticationEndpointURI} 138 * instead. 139 * 140 * @return The back-channel authentication endpoint URI, {@code null} 141 * if not specified. 142 */ 143 @Deprecated 144 URI getBackChannelAuthenticationEndpoint(); 145 146 147 /** 148 * Returns the JSON object representation of the metadata. 149 * 150 * @return The JSON object. 151 */ 152 JSONObject toJSONObject(); 153}