Standardize auth logic across all Topcoder frontend apps.
This repo contains several pieces:
> npm install --save tc-accounts
The connector exports a configureConnector
method that must be invoked before any of the other methods, which likely means the entry of your app, or the entry of your auth logic. This will create and attach the connector iFrame
to the DOM in your app.
import { configureConnector } from 'tc-accounts'
configureConnector({
connectorUrl: 'https://accounts.topcoder.com/connector.html',
frameId: 'tc-accounts-iframe'
})
import { getFreshToken } from 'tc-accounts'
getFreshToken().then( token => {
console.log(token)
})
angular-jwt
const config = function($httpProvider, jwtInterceptorProvider) {
function jwtInterceptor() {
return getFreshToken()
}
jwtInterceptorProvider.tokenGetter = jwtInterceptor
$httpProvider.interceptors.push('jwtInterceptor')
}
If you only need to work on the app itself, getting up and running is super simple.
> npm install
> npm run dev
localhost:3100
If you need to test your integration locally, you'll need a few more steps. The iframe technique we are using here does not play well with webpack-dev-server, and we need to serve two apps from the same subdomain (port, in this case).
> npm install
> npm run build:dev
> npm run build:connector
local.topcoder-dev.com
to 127.0.0.1
in your hosts filedist
directory on port 8000. We suggest python -m SimpleHTTPServer
if you're on OS X.http://local.topcoder-dev.com:8000
to develop.http://local.topcoder-dev.com:8000
to see your local version of the accounts appYou'll need to rerun the build:dev
and build:connector
commands manually to see your updates.
© 2017 Topcoder. All Rights Reserved