---
title: Developing token generators
description: You can create a token-generator implementation by using the TokenGenerator interface.
component: pingfederate
version: 13.0
page_id: pingfederate:sdk_developers_guide:pf_develop_token_generat
canonical_url: https://docs.pingidentity.com/pingfederate/13.0/sdk_developers_guide/pf_develop_token_generat.html
revdate: July 5, 2022
---

# Developing token generators

You can create a token-generator implementation by using the `TokenGenerator` interface.

The following Java packages are required for implementing the `TokenGenerator` interface:

* `org.sourceid.saml20.adapter.sp.authn`

* `org.sourceid.saml20.adapter.gui`

* `org.sourceid.saml20.adapter.conf`

* `org.sourceid.wstrust.model`

* `org.sourceid.wstrust.plugin`

* `org.sourceid.wstrust.plugin.process`

* `com.pingidentity.sdk`

For each token-generator implementation, in addition to the methods described under [Shared plugin interfaces](pf_share_plugin_interface.html), you must define the `SecurityToken generateToken(TokenContext attributeContext)` method.

PingFederate invokes the `generateToken()` method when processing a security token service (STS) request to perform necessary operations for generation of a security token. The type `BinarySecurityToken` is available and you can use it to represent custom security tokens that can be transported as Base64-encoded data. The `TokenContext` contains subject data available for insertion into the generated security token.
