Skip to content

Commit

Permalink
Merge pull request #510 from ChinthakaJ98/add-oauth-attributes
Browse files Browse the repository at this point in the history
Add support for additional OAuth attributes
  • Loading branch information
janakamarasena authored Oct 27, 2023
2 parents 340113b + 37a72c2 commit bede7e5
Show file tree
Hide file tree
Showing 16 changed files with 1,283 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,18 @@ private ApplicationManagementConstants() {
public static final String ISSUER = "issuer";
public static final String RBAC = "RBAC";
public static final String NO_POLICY = "NO POLICY";
public static final String NONE = "None";
public static final String TOKEN_EP_SIGNATURE_ALGORITHMS_SUPPORTED = "OAuth.OpenIDConnect." +
"SupportedTokenEndpointSigningAlgorithms.SupportedTokenEndpointSigningAlgorithm";
public static final String ID_TOKEN_SIGNATURE_ALGORITHMS_SUPPORTED = "OAuth.OpenIDConnect." +
"SupportedIDTokenSigningAlgorithms.SupportedIDTokenSigningAlgorithm";
public static final String REQUEST_OBJECT_SIGNATURE_ALGORITHMS_SUPPORTED = "OAuth.OpenIDConnect." +
"SupportedRequestObjectSigningAlgorithms.SupportedRequestObjectSigningAlgorithm";
public static final String REQUEST_OBJECT_ENCRYPTION_ALGORITHMS_SUPPORTED = "OAuth.OpenIDConnect." +
"SupportedRequestObjectEncryptionAlgorithms.SupportedRequestObjectEncryptionAlgorithm";
public static final String REQUEST_OBJECT_ENCRYPTION_METHODS_SUPPORTED = "OAuth.OpenIDConnect." +
"SupportedRequestObjectEncryptionMethods.SupportedRequestObjectEncryptionMethod";
public static final String DEFAULT_SUBJECT_TYPE = "OAuth.OpenIDConnect.DefaultSubjectType";

public static final String NON_EXISTING_USER_CODE = "30007 - ";

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
/*
* Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com).
*
* WSO2 LLC. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.wso2.carbon.identity.api.server.application.management.v1;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.Valid;
import java.util.Objects;

public class ClientAuthenticationConfiguration {

private String tokenEndpointAuthMethod;
private String tokenEndpointAuthSigningAlg;
private String tlsClientAuthSubjectDn;

/**
**/
public ClientAuthenticationConfiguration tokenEndpointAuthMethod(String tokenEndpointAuthMethod) {

this.tokenEndpointAuthMethod = tokenEndpointAuthMethod;
return this;
}

@ApiModelProperty(example = "true", value = "")
@JsonProperty("tokenEndpointAuthMethod")
@Valid
public String getTokenEndpointAuthMethod() {
return tokenEndpointAuthMethod;
}
public void setTokenEndpointAuthMethod(String tokenEndpointAuthMethod) {
this.tokenEndpointAuthMethod = tokenEndpointAuthMethod;
}

/**
**/
public ClientAuthenticationConfiguration tokenEndpointAuthSigningAlg(String tokenEndpointAuthSigningAlg) {

this.tokenEndpointAuthSigningAlg = tokenEndpointAuthSigningAlg;
return this;
}

@ApiModelProperty(example = "PS256", value = "")
@JsonProperty("tokenEndpointAuthSigningAlg")
@Valid
public String getTokenEndpointAuthSigningAlg() {
return tokenEndpointAuthSigningAlg;
}
public void setTokenEndpointAuthSigningAlg(String tokenEndpointAuthSigningAlg) {
this.tokenEndpointAuthSigningAlg = tokenEndpointAuthSigningAlg;
}

/**
**/
public ClientAuthenticationConfiguration tlsClientAuthSubjectDn(String tlsClientAuthSubjectDn) {

this.tlsClientAuthSubjectDn = tlsClientAuthSubjectDn;
return this;
}

@ApiModelProperty(example = "CN=John Doe,OU=OrgUnit,O=Organization,L=Colombo,ST=Western,C=LK", value = "")
@JsonProperty("tlsClientAuthSubjectDn")
@Valid
public String getTlsClientAuthSubjectDn() {
return tlsClientAuthSubjectDn;
}
public void setTlsClientAuthSubjectDn(String tlsClientAuthSubjectDn) {
this.tlsClientAuthSubjectDn = tlsClientAuthSubjectDn;
}

@Override
public boolean equals(java.lang.Object o) {

if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ClientAuthenticationConfiguration clientAuthenticationConfiguration = (ClientAuthenticationConfiguration) o;
return Objects.equals(this.tokenEndpointAuthMethod, clientAuthenticationConfiguration.tokenEndpointAuthMethod) &&
Objects.equals(this.tokenEndpointAuthSigningAlg, clientAuthenticationConfiguration.tokenEndpointAuthSigningAlg) &&
Objects.equals(this.tlsClientAuthSubjectDn, clientAuthenticationConfiguration.tlsClientAuthSubjectDn);
}

@Override
public int hashCode() {
return Objects.hash(tokenEndpointAuthMethod, tokenEndpointAuthSigningAlg, tlsClientAuthSubjectDn);
}

@Override
public String toString() {

StringBuilder sb = new StringBuilder();
sb.append("class ClientAuthenticationConfiguration {\n");

sb.append(" tokenEndpointAuthMethod: ").append(toIndentedString(tokenEndpointAuthMethod)).append("\n");
sb.append(" tokenEndpointAuthSigningAlg: ").append(toIndentedString(tokenEndpointAuthSigningAlg)).append("\n");
sb.append(" tlsClientAuthSubjectDn: ").append(toIndentedString(tlsClientAuthSubjectDn)).append("\n");
sb.append("}");
return sb.toString();
}

/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {

if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
/*
* Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com).
*
* WSO2 LLC. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.wso2.carbon.identity.api.server.application.management.v1;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.Valid;
import java.util.Objects;

public class ClientAuthenticationMethod {

private String name;
private String displayName;

/**
**/
public ClientAuthenticationMethod name(String name) {

this.name = name;
return this;
}

@ApiModelProperty(example = "private_key_jwt", value = "")
@JsonProperty("name")
@Valid
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

/**
**/
public ClientAuthenticationMethod displayName(String displayName) {

this.displayName = displayName;
return this;
}

@ApiModelProperty(example = "Private Key JWT", value = "")
@JsonProperty("displayName")
@Valid
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}

@Override
public boolean equals(java.lang.Object o) {

if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ClientAuthenticationMethod clientAuthenticationMethod = (ClientAuthenticationMethod) o;
return Objects.equals(this.name, clientAuthenticationMethod.name) &&
Objects.equals(this.displayName, clientAuthenticationMethod.displayName);
}

@Override
public int hashCode() {
return Objects.hash(name, displayName);
}

@Override
public String toString() {

StringBuilder sb = new StringBuilder();
sb.append("class ClientAuthenticationMethod {\n");

sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n");
sb.append("}");
return sb.toString();
}

/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {

if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
/*
* Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com).
*
* WSO2 LLC. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.wso2.carbon.identity.api.server.application.management.v1;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

public class ClientAuthenticationMethodMetadata {

private List<ClientAuthenticationMethod> options = null;


/**
**/
public ClientAuthenticationMethodMetadata options(List<ClientAuthenticationMethod> options) {

this.options = options;
return this;
}

@ApiModelProperty(value = "")
@JsonProperty("options")
@Valid
public List<ClientAuthenticationMethod> getOptions() {
return options;
}
public void setOptions(List<ClientAuthenticationMethod> options) {
this.options = options;
}

public ClientAuthenticationMethodMetadata addOptionsItem(ClientAuthenticationMethod optionsItem) {
if (this.options == null) {
this.options = new ArrayList<>();
}
this.options.add(optionsItem);
return this;
}

@Override
public boolean equals(java.lang.Object o) {

if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ClientAuthenticationMethodMetadata clientAuthenticationMethodMetadata = (ClientAuthenticationMethodMetadata) o;
return Objects.equals(this.options, clientAuthenticationMethodMetadata.options);
}

@Override
public int hashCode() {
return Objects.hash(options);
}

@Override
public String toString() {

StringBuilder sb = new StringBuilder();
sb.append("class ClientAuthenticationMethodMetadata {\n");

sb.append(" options: ").append(toIndentedString(options)).append("\n");
sb.append("}");
return sb.toString();
}

/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {

if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n");
}
}
Loading

0 comments on commit bede7e5

Please sign in to comment.