Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions EXAMPLES.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,8 @@ Each topic lives in its own file under [`examples/`](examples).
- [Pushed Authorization Requests (PAR)](examples/authentication-api/pushed-authorization-requests.md)
- [DPoP](examples/authentication-api/dpop.md)

## Embedded Authentication (EA)
## Embedded Authentication (Beta)

- [Discovery](examples/embedded-auth/discovery.md)
- [Authorize (email OTP flow)](examples/embedded-auth/authorize.md)

## Other APIs and features
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@ import com.auth0.android.embedded.authorize.IdentifierType
import com.auth0.android.embedded.authorize.OtpType
import com.auth0.android.embedded.authorize.StepRequest
import com.auth0.android.embedded.authorize.authorizeCodeAdapter
import com.auth0.android.embedded.authorize.discoveryAdapter
import com.auth0.android.embedded.authorize.embeddedAuthErrorAdapter
import com.auth0.android.embedded.discovery.DiscoveryResult
import com.auth0.android.request.Request
import com.auth0.android.request.internal.GsonAdapter
import com.auth0.android.request.internal.GsonProvider
Expand Down Expand Up @@ -47,37 +45,6 @@ public class EmbeddedAuthClient(private val auth0: Auth0) {
@Volatile
private var transactionState: EmbeddedAuthState? = null

/**
*
* Returns the grant types a client can use, derived from the client's enabled grants,
* its enabled connections, and each connection's configured authentication methods.
*
* Example usage:
*
* ```
* client.discover("my-connection")
* .start(object : Callback<DiscoveryResult, EmbeddedAuthException> {
* override fun onSuccess(result: DiscoveryResult) { }
* override fun onFailure(error: EmbeddedAuthException) { }
* })
* ```
*
* @param connection name of the connection to limit the results to. When omitted, all the
* client's enabled connections are considered.
* @return a request to configure and start that will yield a [com.auth0.android.embedded.discovery.DiscoveryResult]
*/
@JvmOverloads
public fun discover(connection: String? = null): Request<DiscoveryResult, EmbeddedAuthException> {
val url = auth0.getDomainUrl().toHttpUrl().newBuilder()
.addPathSegment(EMBEDDED_PATH)
.addPathSegment(DISCOVERY_PATH)
.addQueryParameter(CLIENT_ID_KEY, clientId)
.apply { connection?.let { addQueryParameter(CONNECTION_KEY, it) } }
.build()

return factory.get(url.toString(), discoveryAdapter(gson))
}

/**
* Begins an embedded authorization flow, abandoning any flow already in progress.
*
Expand Down Expand Up @@ -235,7 +202,6 @@ public class EmbeddedAuthClient(private val auth0: Auth0) {

private companion object {
private const val EMBEDDED_PATH = "e"
private const val DISCOVERY_PATH = "discovery"
private const val AUTHORIZE_PATH = "authorize"
private const val OAUTH_PATH = "oauth"
private const val TOKEN_PATH = "token"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ package com.auth0.android.embedded.authorize
import com.auth0.android.Auth0Exception
import com.auth0.android.NetworkErrorException
import com.auth0.android.embedded.EmbeddedAuthException
import com.auth0.android.embedded.discovery.DiscoveryResponse
import com.auth0.android.embedded.discovery.DiscoveryResult
import com.auth0.android.embedded.discovery.toDiscoveryResult
import com.auth0.android.request.ErrorAdapter
import com.auth0.android.request.JsonAdapter
import com.auth0.android.request.internal.GsonAdapter
Expand All @@ -23,18 +20,6 @@ private const val AUTH_SESSION_KEY = "auth_session"
private const val DEFAULT_DESCRIPTION =
"An error occurred when trying to authenticate with the server."

/** Parses the discovery payload and translates it into the public [DiscoveryResult]. */
internal fun discoveryAdapter(gson: Gson): JsonAdapter<DiscoveryResult> {
val adapter = GsonAdapter(DiscoveryResponse::class.java, gson)
return object : JsonAdapter<DiscoveryResult> {
@Throws(IOException::class)
override fun fromJson(
reader: Reader,
metadata: Map<String, Any>
): DiscoveryResult = adapter.fromJson(reader, metadata).toDiscoveryResult()
}
}

/** Parses the `200` body of `/e/authorize` into the code to exchange for tokens. */
internal fun authorizeCodeAdapter(gson: Gson): JsonAdapter<AuthorizeCode> =
GsonAdapter(AuthorizeCode::class.java, gson)
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading