Skip to content

Commit 57051de

Browse files
committed
More session token function
1 parent c0747aa commit 57051de

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

library/src/main/kotlin/one/mixin/bot/SessionToken.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package one.mixin.bot
22

3+
import net.i2p.crypto.eddsa.EdDSAPrivateKey
4+
import one.mixin.bot.extension.base64Encode
5+
import one.mixin.bot.vo.User
36
import java.security.Key
7+
import java.security.KeyPair
48

59
sealed class SessionToken(open val userId: String, open val sessionId: String) {
610
data class RSA(
@@ -15,3 +19,14 @@ sealed class SessionToken(open val userId: String, open val sessionId: String) {
1519
val seed: String
1620
) : SessionToken(userId, sessionId)
1721
}
22+
23+
fun getUserSessionToken(user: User, sessionKey: KeyPair, isRsa: Boolean = false): SessionToken {
24+
return if (isRsa) {
25+
SessionToken.RSA(user.userId, user.sessionId, sessionKey.private)
26+
} else {
27+
SessionToken.EdDSA(
28+
user.userId, user.sessionId,
29+
(sessionKey.private as EdDSAPrivateKey).seed.base64Encode()
30+
)
31+
}
32+
}

0 commit comments

Comments
 (0)