Skip to content

Commit 170eb32

Browse files
committed
chore: wip
1 parent d154398 commit 170eb32

File tree

1 file changed

+0
-141
lines changed

1 file changed

+0
-141
lines changed

android/src/main/java/com/openloginreactnativesdk/OpenloginReactNativeSdkModule.kt

Lines changed: 0 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,6 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule
55
import com.facebook.react.bridge.ReactMethod
66
import com.facebook.react.bridge.Promise
77

8-
import android.app.Activity
9-
import android.content.Intent
10-
import android.net.Uri
11-
import com.facebook.react.bridge.*
12-
import com.openlogin.core.OpenLogin
13-
import java.lang.Exception
14-
import java.util.*package com.openloginreactnativesdk
15-
16-
import com.facebook.react.bridge.ReactApplicationContext
17-
import com.facebook.react.bridge.ReactContextBaseJavaModule
18-
import com.facebook.react.bridge.ReactMethod
19-
import com.facebook.react.bridge.Promise
20-
218
import android.app.Activity
229
import android.content.Intent
2310
import android.net.Uri
@@ -154,131 +141,3 @@ class OpenloginReactNativeSdkModule(reactContext: ReactApplicationContext) : Rea
154141

155142
}
156143

157-
import com.facebook.react.bridge.WritableMap
158-
159-
import com.facebook.react.bridge.ReactContext
160-
import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
161-
import com.openlogin.core.types.LoginParams
162-
import com.openlogin.core.types.OpenLoginOptions
163-
import com.openlogin.core.types.OpenLoginResponse
164-
import kotlinx.coroutines.CoroutineScope
165-
import kotlinx.coroutines.Dispatchers
166-
import kotlinx.coroutines.launch
167-
import java8.util.concurrent.CompletableFuture
168-
169-
// Quick note on allowing RN Modules to receive Activity Events
170-
// https://stackoverflow.com/questions/45744013/onnewintent-is-not-called-on-reactcontextbasejavamodule-react-native
171-
172-
class OpenloginReactNativeSdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
173-
174-
override fun getName(): String {
175-
return "OpenloginReactNativeSdk"
176-
}
177-
178-
private lateinit var openlogin: OpenLogin
179-
180-
@ReactMethod
181-
fun init(params: ReadableMap, promise: Promise) = try {
182-
val clientId = params.getString("clientId") as String
183-
val network = params.getString("network") as String
184-
val redirectUrl = params.getString("redirectUrl")
185-
openlogin = OpenLogin(
186-
OpenLoginOptions(
187-
context = currentActivity!!,
188-
clientId = clientId,
189-
network = OpenLogin.Network.valueOf(network.toUpperCase(Locale.ROOT)),
190-
redirectUrl = Uri.parse(redirectUrl ?: "${reactApplicationContext!!.packageName}://auth")
191-
)
192-
)
193-
194-
openlogin.setResultUrl(reactApplicationContext.currentActivity?.intent?.data)
195-
196-
reactApplicationContext.addActivityEventListener(object : ActivityEventListener {
197-
override fun onActivityResult(p0: Activity?, p1: Int, p2: Int, p3: Intent?) {}
198-
199-
override fun onNewIntent(p0: Intent?) {
200-
openlogin.setResultUrl(p0?.data)
201-
}
202-
})
203-
promise.resolve(null)
204-
} catch (e: Exception) {
205-
promise.reject(e)
206-
}
207-
208-
@ReactMethod
209-
fun login(params: ReadableMap, promise: Promise) {
210-
val provider = params.getString("provider") as String
211-
212-
CoroutineScope(Dispatchers.Default).launch {
213-
try {
214-
val loginCF = openlogin.login(LoginParams(getOpenLoginProvider(provider)))
215-
loginCF.join()
216-
loginCF.whenComplete { result, error ->
217-
launch(Dispatchers.Main) {
218-
if (error != null) {
219-
promise.reject(error)
220-
} else {
221-
val map = Arguments.createMap()
222-
map.putString("privKey", result.privKey)
223-
val userInfoMap = Arguments.createMap()
224-
userInfoMap.putString("email", result.userInfo?.email)
225-
userInfoMap.putString("name", result.userInfo?.name)
226-
userInfoMap.putString("profileImage", result.userInfo?.profileImage)
227-
userInfoMap.putString("aggregateVerifier", result.userInfo?.aggregateVerifier)
228-
userInfoMap.putString("verifier", result.userInfo?.verifier)
229-
userInfoMap.putString("verifierId", result.userInfo?.verifierId)
230-
userInfoMap.putString("typeOfLogin", result.userInfo?.typeOfLogin)
231-
map.putMap("userInfo", userInfoMap)
232-
promise.resolve(map)
233-
}
234-
}
235-
}
236-
} catch (e: Exception) {
237-
launch(Dispatchers.Main) { promise.reject(e) }
238-
}
239-
}
240-
}
241-
242-
@ReactMethod
243-
fun logout(params: ReadableMap, promise: Promise) {
244-
CoroutineScope(Dispatchers.Default).launch {
245-
try {
246-
val logoutCF = openlogin.logout()
247-
logoutCF.join()
248-
logoutCF.whenComplete { _, error ->
249-
launch(Dispatchers.Main) {
250-
if (error != null) {
251-
promise.reject(error)
252-
} else {
253-
promise.resolve(null)
254-
}
255-
}
256-
}
257-
} catch (e: Exception) {
258-
launch(Dispatchers.Main) { promise.reject(e) }
259-
}
260-
}
261-
}
262-
263-
fun getOpenLoginProvider(provider: String): OpenLogin.Provider {
264-
return when (provider) {
265-
"google" -> OpenLogin.Provider.GOOGLE
266-
"facebook" -> OpenLogin.Provider.FACEBOOK
267-
"reddit" -> OpenLogin.Provider.REDDIT
268-
"discord" -> OpenLogin.Provider.DISCORD
269-
"twitch" -> OpenLogin.Provider.TWITCH
270-
"apple" -> OpenLogin.Provider.APPLE
271-
"line" -> OpenLogin.Provider.LINE
272-
"github" -> OpenLogin.Provider.GITHUB
273-
"kakao" -> OpenLogin.Provider.KAKAO
274-
"linkedin" -> OpenLogin.Provider.LINKEDIN
275-
"twitter" -> OpenLogin.Provider.TWITTER
276-
"weibo" -> OpenLogin.Provider.WEIBO
277-
"wechat" -> OpenLogin.Provider.WECHAT
278-
"email_passwordless" -> OpenLogin.Provider.EMAIL_PASSWORDLESS
279-
280-
else -> OpenLogin.Provider.GOOGLE
281-
}
282-
}
283-
284-
}

0 commit comments

Comments
 (0)