au.com.redboxresearchdata.fascinator:plugin-sso-rapidaaf

This Maven project provides a central point for information regarding The Fascinator and its many works.

License

License

Categories

Categories

Data Search Business Logic Libraries
GroupId

GroupId

au.com.redboxresearchdata.fascinator
ArtifactId

ArtifactId

plugin-sso-rapidaaf
Last Version

Last Version

1.3
Release Date

Release Date

Type

Type

jar
Description

Description

This Maven project provides a central point for information regarding The Fascinator and its many works.
Source Code Management

Source Code Management

https://github.com/the-fascinator-contrib/plugin-sso-rapidaaf

Download plugin-sso-rapidaaf

How to add to project

<!-- https://jarcasting.com/artifacts/au.com.redboxresearchdata.fascinator/plugin-sso-rapidaaf/ -->
<dependency>
    <groupId>au.com.redboxresearchdata.fascinator</groupId>
    <artifactId>plugin-sso-rapidaaf</artifactId>
    <version>1.3</version>
</dependency>
// https://jarcasting.com/artifacts/au.com.redboxresearchdata.fascinator/plugin-sso-rapidaaf/
implementation 'au.com.redboxresearchdata.fascinator:plugin-sso-rapidaaf:1.3'
// https://jarcasting.com/artifacts/au.com.redboxresearchdata.fascinator/plugin-sso-rapidaaf/
implementation ("au.com.redboxresearchdata.fascinator:plugin-sso-rapidaaf:1.3")
'au.com.redboxresearchdata.fascinator:plugin-sso-rapidaaf:jar:1.3'
<dependency org="au.com.redboxresearchdata.fascinator" name="plugin-sso-rapidaaf" rev="1.3">
  <artifact name="plugin-sso-rapidaaf" type="jar" />
</dependency>
@Grapes(
@Grab(group='au.com.redboxresearchdata.fascinator', module='plugin-sso-rapidaaf', version='1.3')
)
libraryDependencies += "au.com.redboxresearchdata.fascinator" % "plugin-sso-rapidaaf" % "1.3"
[au.com.redboxresearchdata.fascinator/plugin-sso-rapidaaf "1.3"]

Dependencies

compile (4)

Group / Artifact Type Version
com.googlecode.the-fascinator : fascinator-common jar 1.3
com.googlecode.the-fascinator : fascinator-plugin-api jar 1.3
commons-codec : commons-codec jar 1.9
com.nimbusds : nimbus-jose-jwt jar 2.22.1

provided (1)

Group / Artifact Type Version
com.googlecode.the-fascinator : fascinator-portal jar 1.3

test (1)

Group / Artifact Type Version
junit : junit jar 4.10

Project Modules

There are no modules declared in this project.

AAF Rapid Connect Fascinator SSO Plugin

This plugin integrates AAF Rapid Connect to your build. Please see: https://rapid.aaf.edu.au/

This plugin is purely an authentication plugin, authorization (roles) will have to be managed by an appropriate roles plugin like the Internal Roles Plugin.

Installation

Please add the ff. dependency to your institutional build's pom.xml:

<!--  Rapid AAF SSO plugin -->
<dependency>
	<groupId>au.com.redboxresearchdata.fascinator</groupId>
	<artifactId>plugin-sso-rapidaaf</artifactId>
	<version>your-desired-version</version>
</dependency>

Then, further on the same file, under "build"->"plugins"->"maven-dependency-plugin", add the ff. execution:

 <!-- RapidAAF Resources -->
  <execution>
      <id>unpack-rapidaaf-conf</id>
      <phase>process-resources</phase>
      <goals>
          <goal>unpack</goal>
      </goals>
      <configuration>
          <outputDirectory>${project.home}</outputDirectory>
          <artifactItems>
              <artifactItem>
                  <groupId>au.com.redboxresearchdata.fascinator</groupId>
				  <artifactId>plugin-sso-rapidaaf</artifactId>
                  <classifier>rapidaaf-config</classifier>
                  <type>zip</type>
              </artifactItem>
          </artifactItems>
      </configuration>
  </execution>

Next, update your build's system-config.json, adding the top-level entry:

 "rapidAafSso": {
    	"url":"",
    	"sharedKey":"",
    	"aud":"${server.url.base}",
    	"iss":"https://rapid.test.aaf.edu.au",
    	"attrParentField":"https://aaf.edu.au/attributes",
    	"usernameField":"edupersontargetedid",
    	"userFields":["cn", "mail", "displayname", "givenname", "surname", "edupersontargetedid", "edupersonscopedaffiliation", "edupersonprincipalname"],
    	"source":"rapidAafSso"    	
 },

You will need to replace the "url" and "sharedKey" values specific to your institution, and are specified during service registration. See AAF Rapid Connect documentation for details.

Please note that when registering a service, make sure to specify the "Your-Base-Url/auth/jwt.script" in the "Callback URL" field. Also, the "aud" config value must match the "URL" field value entered during registration.

Optionally, you might also want to modify the "iss" field to reflect the appropriate environment.

Then, on the same file, add the plugin identifier on the SSO configuration:

"sso": {
    "plugins": ["rapidAafSso"],

Finally, tell the Internal Roles plugin the default role, like so:

"roles": {
    "type": "internal",
    "internal": {
        "path": "${fascinator.home}/security/roles.properties",
        "defaultRoles":["guest"]
    }
},

Please note that this plugin is not dependent on the Internal Roles plugin. Whichever plugin you select, you will need to configure it to assign a default role whenever an AAF user does not have one assigned.

That's it folks!

au.com.redboxresearchdata.fascinator

The Fascinator Contrib

Versions

Version
1.3
1.2
1.1
1.0