Open ncmbsupport opened 6 years ago
以下に、NCMB v2.4.0を使用し Facebook・Twitterの認証データを使った会員登録(ログイン)サンプルを提供致します。 あくまで一サンプルとしてご参考にしていただければ幸いです。
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
if ((error) != nil) {
// Process error
}
else if result.isCancelled {
// Handle cancellations
}
else {
// Logged in to Facebook successfully
// Register (log in) to mBaas
var facebookInfo : Dictionary = Dictionary<String,Any>()
facebookInfo["id"] = result.token.userID
facebookInfo["access_token"] = result.token.tokenString
facebookInfo["expiration_date"] = result.token.expirationDate
let user:NCMBUser = NCMBUser.init()
user.signUp(withFacebookToken: facebookInfo, with: { err in
if (err != nil) {
// Register (login) to mBaas failure
} else {
// Register (login) to mBaas successfully
print("ユーザー名:", NCMBUser.current().userName)
}
})
}
}
let logInButton = TWTRLogInButton(logInCompletion: { session, error in
if (session != nil) {
// Logged in to Twitter successfully
// Register (log in) to mBaas
var data : Dictionary = Dictionary<String,Any>()
data["consumer_secret"] = Twitter.sharedInstance().authConfig.consumerSecret
data["oauth_consumer_key"] = Twitter.sharedInstance().authConfig.consumerKey
data["id"] = session?.userID
data["oauth_token"] = session?.authToken
data["oauth_token_secret"] = session?.authTokenSecret
data["screen_name"] = session?.userName
let user:NCMBUser = NCMBUser.init()
user.signUp(withTwitterToken: data, with: { err in
if (err != nil) {
// Register (login) to mBaas failure
} else {
// Register (login) to mBaas successfully
print("ユーザー名:", NCMBUser.current().userName)
}
})
} else {
// Logged in to Twitter failure
}
})
logInButton.center = self.view.center
self.view.addSubview(logInButton)
※なお、ニフクラ mobile backendにおいてはSwiftは本来サポート対象外となっております。 このたびお送りするサンプルについても、 弊社にて動作確認は行っておりますが、正式な保証はいたしかねます。ご了承ください。
下記サイトを参考に、swiftでFacebook・Twitterの認証データを使った会員管理(ログイン)を行ったのですが、 iOS SDK v2.4.0以降ですと正常に動作しません。 https://qiita.com/natsumo/items/f5c4d41edae17a4a75ce アドバイスいただけますでしょうか。よろしくお願いします。