Get User Details
After the user is authenticated, to get user-related information, we can use the following function. This will return the user details in a LinkedHashMap
.
GlobalScope.launch {
runCatching {
authenticationProvider.getBasicUserInfo(<context>)
}.onSuccess { userDetails ->
Profile(userDetails)
}.onFailure { e ->
// Display error message
}
}
NOTE
You cannot directly use Composable functions inside a coroutine, above its used to show the flow of the application. You can use the getBasicUserInfo
function in a ViewModel or a Repository and observe the result in the Composable function.
CAUTION
When using GlobalScope
, make sure to cancel the coroutine when the composable is removed from the screen. This is to avoid memory leaks. Also instead of using GlobalScope
, you can use viewModelScope
if you are using the MVVM pattern in your application. For more information on how to handle coroutines in Jetpack Compose, see the following documentation.