Within the Teamwork.com
Developer Portal, you can use
your created apps in
the app login flow or
the log in with
Teamwork.com component.
You must
first register your
app in the Teamwork.com Developer
Portal before you can start building
integrations.
App login flow
While accessing the Developer Portal,
select
your app to view it and navigate to the Credentials tab which contains
all the required
fields to use the App
Login
Flow.
Step 1
Initiate
authentication by
directing your user
to:
`XXX`
is the return URI for your app/service.`YYY`
is the client ID from the Developer Portal.
For the redirect
URIs, you can pass URIs
such
as:
http://myservice.com/auth
customprotocolapp://whatever
- The result
from
chrome.identity.getRedirectURL()
for Chrome extensions.
You can also pass a
state query parameter
which will be returned
back to you in the final
step.
It is up to you how
you open the
authentication window. You can use a
modal/new
window, a built-in API
that handles it for you,
or open the link up
in the
browser.
Step 2
The user will
authenticate either by
email/password or one of
the other login methods. This step does
not require
any work from the
developer’s
side.
You do not need to
worry about making
requests to multiple
regions as the App Login Flow
will handle
everything.
Step 3
The user is
returned back to the login
success page, at which
point we
open/redirect/navigate to
the provided
`redirect_uri.`
- For
http(s) URLs, users will be
automatically redirected,
otherwise a message will
tell the user that it is
safe to close the window. You can also
close the
modal/pop-up from your app
once you have received the
code).
A
`code`
query
parameter is appended to
the URI containing the
temporary authentication
token (which expires
in 15 minutes),
as well as the state
parameter (if passed in
Step
1).Step 4
Now that you have
received the code, you can
close any authentication
popup/modal/child window
(if needed).
You must
make a HTTP POST request
to:
A content-type
header
of
application/json
needs
to be
sent.The request payload
should be in JSON format
and
contain:
code
– Retrieved using the previous step above *required field*client_id
– This will be generated using the Developer Portal where you register your app *required field*redirect_uri
– This will be generated using the Developer Portal where you register your app *required field*client_secret
– This will be generated using the Developer Portal where you register your app *required field*
You
should store
the `access_token` for all
future requests, the basic
installation data will
provide you with the
required URL under
`apiEndPoint`.
Step 5
You can now use the
access token for
authentication with our
apps. The token should be
passed under
the
Authorization
header
as `Bearer XXX` where
`XXX` is the
token.You can read more and find examples using the
app login flow via our Developer Portal documentation.
Log in with Teamwork.com
component
You can use
our public component to allow users to log in
to your app or service via their
Teamwork.com account.
This works hand in hand
with
our app
login flow. As a
Teamwork.com 3rd party
developer, you can
avail of this feature. In order to use
this:
- You will need to create an app in
the Developer
Portal.
- After you created an app, you will
need
access to our open source
repository.
After you have
created an app and
are ready to build the
sign-in process, you can
navigate to
our GitHub
repository. There are two
approaches:
Whichever method
you go with, you need to
add the Teamwork.com button to
your template or view by
adding:
<teamwork-login-buttonclientID="your_client_id"state="optional_state_parameter"color="slate"size="large"borders="default"/>
Using this button
component will kick off
the login process as it
redirects the user to the
launchpad login page.
Continue the login process
by following
our app login flow.
You can read more about the
associated
parameters and find examples using the
login
component via our Developer Portal documentation.
For more information,
see: Teamwork.com Developer
Portal