Currently, there are two authentication frameworks in blackboard:
- Legacy jar based (Bad)
- B2 based (Good)
The Legacy jar based framework was the only way to customize authentication until BB9. The installation procedure was a nightmare and it had to be completely re-installed on updates. Going forward the B2 based framework is the recommended way to customize authentication. The support model for the an Authentication B2 is simliar to other B2s.
- A class that extends AbstractAuthenticationProviderHandler
- An section in bb-manifest.xml with blackboard.platform.authProviderHandler as the point field.
- NOTE: getExtensionId() MUST return extension id contactentated to definition namespace in bb-manifest.xml
e.g.,
bb-manifest.xml:
<extension-defs>
<definition namespace="com.test">
<extension id="testAuthProviderId"
point="blackboard.platform.authProviderHandler"
class="com.test.handler.testAuthProviderClass"
singleton="true" />
</definition>
</extension-defs>
testAuthProviderClass.java:
package com.test.handler;
public class testAuthProviderClass extends AbstractAuthenticationProviderHandler
...
private String namespace = "com.test";
private String extensionId = "testAuthProviderId" ;
getExtensionId(){return namespace+"."+extensionId;}
...
- help.blackboard.com's Custom Authentication implementation documentation
- Authentication provider presentation
- Example LDAP implementation
- JavaDoc for AuthenticationProvider
- Edugarage forum question
- Edugarage forum question
- Blackboard's intro to B2 Authentication framework
- Legacy Custom Auth
#Installation Examples
- Create a jar with a class that extends BaseAuthenticationModule
- Put jar and all dependencies in /usr/local/blackboard/systemlib/
- Add jar to classpath to /usr/local/blackboard/apps/collab-server/config/wrapper.conf.bb
- e.g., wrapper.java.classpath.38=@@bbconfig.basedir@@/systemlib/laureate-authentication.jar
- Add jar to classpath to /usr/local/blackboard/system/build/bin/launch-tool.sh
- e.g., THIRD_PARTY_CP=$THIRD_PARTY_CP:../systemlib/authentication.jar
- Add jar to classpath to /usr/local/blackboard/apps/snapshot/config/env.sh.bb
- e.g., CP=$CP:$BBDIR/systemlib/authentication.jar
- Add jar to classpath to /usr/local/blackboard/apps/content-exchange/bin/content-exchange.sh.bb
- e.g., CP=$CP:$BBDIR/systemlib/authentication.jar
- There are probably steps more too.
- Oh, you didn't want to configure this jar in the web interface did you?
- Create a B2
- Install B2
- Configure