001package com.nimbusds.openid.connect.provider.spi.grants; 002 003 004import java.net.URI; 005import java.util.Collections; 006import java.util.List; 007import java.util.Map; 008import java.util.Objects; 009 010import org.checkerframework.checker.nullness.qual.Nullable; 011 012import com.nimbusds.oauth2.sdk.Scope; 013 014 015/** 016 * Default token request parameters implementation. 017 */ 018public class DefaultTokenRequestParameters implements TokenRequestParameters{ 019 020 021 /** 022 * The requested scope. 023 */ 024 private final @Nullable Scope scope; 025 026 027 /** 028 * The requested resource server URI(s). 029 */ 030 private final @Nullable List<URI> resources; 031 032 033 /** 034 * Custom token request parameters. 035 */ 036 private final Map<String,List<String>> customParams; 037 038 039 /** 040 * Creates a new token request parameters instance. 041 * 042 * @param scope The requested scope, {@code null} if not specified. 043 */ 044 public DefaultTokenRequestParameters(final @Nullable Scope scope) { 045 this(scope, null, Collections.emptyMap()); 046 } 047 048 049 /** 050 * Creates a new token request parameters instance. 051 * 052 * @param scope The requested scope, {@code null} if not 053 * specified. 054 * @param resources The requested resource server URI(s), 055 * {@code null} if not specified. 056 * @param customParams Custom parameters, empty map if none. 057 */ 058 public DefaultTokenRequestParameters(final @Nullable Scope scope, 059 final @Nullable List<URI> resources, 060 final Map<String, List<String>> customParams) { 061 this.scope = scope; 062 this.resources = resources; 063 Objects.requireNonNull(customParams); 064 this.customParams = customParams; 065 } 066 067 068 @Override 069 public @Nullable Scope getScope() { 070 return scope; 071 } 072 073 074 @Override 075 public @Nullable List<URI> getResources() { 076 return resources; 077 } 078 079 080 @Override 081 public Map<String, List<String>> getCustomParameters() { 082 return customParams; 083 } 084}