-
Notifications
You must be signed in to change notification settings - Fork 179
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SYNCOPE-1771] Adding support for delegated auth via Google, Keycloak…
… and Apple ID
- Loading branch information
Showing
6 changed files
with
279 additions
and
52 deletions.
There are no files selected for viewing
88 changes: 88 additions & 0 deletions
88
common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/AppleOIDCAuthModuleConf.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one | ||
* or more contributor license agreements. See the NOTICE file | ||
* distributed with this work for additional information | ||
* regarding copyright ownership. The ASF 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.apache.syncope.common.lib.auth; | ||
|
||
import java.util.Map; | ||
import org.apache.syncope.common.lib.to.AuthModuleTO; | ||
|
||
public class AppleOIDCAuthModuleConf extends AbstractOIDCAuthModuleConf implements AuthModuleConf { | ||
|
||
private static final long serialVersionUID = -471527731042579522L; | ||
|
||
/** | ||
* Client secret expiration timeout. | ||
* This settings supports the java.time.Duration syntax. | ||
*/ | ||
protected String timeout = "PT30S"; | ||
|
||
/** | ||
* Apple team identifier. | ||
* Usually, 10 character string given to you by Apple. | ||
*/ | ||
protected String teamId; | ||
|
||
/** | ||
* Private key obtained from Apple. | ||
* Must point to a resource that resolved to an elliptic curve (EC) private key. | ||
*/ | ||
protected String privateKey; | ||
|
||
/** | ||
* The identifier for the private key. | ||
* Usually the 10 character Key ID of the private key you create in Apple. | ||
*/ | ||
protected String privateKeyId; | ||
|
||
public String getTimeout() { | ||
return timeout; | ||
} | ||
|
||
public void setTimeout(final String timeout) { | ||
this.timeout = timeout; | ||
} | ||
|
||
public String getPrivateKey() { | ||
return privateKey; | ||
} | ||
|
||
public void setPrivateKey(final String privateKey) { | ||
this.privateKey = privateKey; | ||
} | ||
|
||
public String getPrivateKeyId() { | ||
return privateKeyId; | ||
} | ||
|
||
public void setPrivateKeyId(final String privateKeyId) { | ||
this.privateKeyId = privateKeyId; | ||
} | ||
|
||
public String getTeamId() { | ||
return teamId; | ||
} | ||
|
||
public void setTeamId(final String teamId) { | ||
this.teamId = teamId; | ||
} | ||
|
||
@Override | ||
public Map<String, Object> map(final AuthModuleTO authModule, final Mapper mapper) { | ||
return mapper.map(authModule, this); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
32 changes: 32 additions & 0 deletions
32
common/am/lib/src/main/java/org/apache/syncope/common/lib/auth/GoogleOIDCAuthModuleConf.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one | ||
* or more contributor license agreements. See the NOTICE file | ||
* distributed with this work for additional information | ||
* regarding copyright ownership. The ASF 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.apache.syncope.common.lib.auth; | ||
|
||
import java.util.Map; | ||
import org.apache.syncope.common.lib.to.AuthModuleTO; | ||
|
||
public class GoogleOIDCAuthModuleConf extends AbstractOIDCAuthModuleConf implements AuthModuleConf { | ||
|
||
private static final long serialVersionUID = -471527731042579522L; | ||
|
||
@Override | ||
public Map<String, Object> map(final AuthModuleTO authModule, final Mapper mapper) { | ||
return mapper.map(authModule, this); | ||
} | ||
} |
58 changes: 58 additions & 0 deletions
58
...n/am/lib/src/main/java/org/apache/syncope/common/lib/auth/KeycloakOIDCAuthModuleConf.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one | ||
* or more contributor license agreements. See the NOTICE file | ||
* distributed with this work for additional information | ||
* regarding copyright ownership. The ASF 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.apache.syncope.common.lib.auth; | ||
|
||
import java.util.Map; | ||
import org.apache.syncope.common.lib.to.AuthModuleTO; | ||
|
||
public class KeycloakOIDCAuthModuleConf extends AbstractOIDCAuthModuleConf implements AuthModuleConf { | ||
|
||
private static final long serialVersionUID = -471527731042579522L; | ||
|
||
/** | ||
* Keycloak realm used to construct metadata discovery URI. | ||
*/ | ||
protected String realm; | ||
|
||
/** | ||
* Keycloak base URL used to construct metadata discovery URI. | ||
*/ | ||
protected String baseUri; | ||
|
||
public String getRealm() { | ||
return realm; | ||
} | ||
|
||
public void setRealm(final String realm) { | ||
this.realm = realm; | ||
} | ||
|
||
public String getBaseUri() { | ||
return baseUri; | ||
} | ||
|
||
public void setBaseUri(final String baseUri) { | ||
this.baseUri = baseUri; | ||
} | ||
|
||
@Override | ||
public Map<String, Object> map(final AuthModuleTO authModule, final Mapper mapper) { | ||
return mapper.map(authModule, this); | ||
} | ||
} |
Oops, something went wrong.