티스토리 뷰

반응형

 

 

네이버 아이디로 로그인 안드로이드 개발가이드 

 

네이버아이디로로그인 안드로이드 개발가이드

NAVER Developers - 네이버아이디로로그인 안드로이드 개발가이드

developers.naver.com

[오픈 API 이용 신청] 에서 신청한 후  클라이언트 아이디값과 시크릿 값을 얻어주기 

 

 

 

build.gradle(Module.app)에 추가해주고

dependencies {

    // 네이버 아이디로 로그인
    implementation 'com.naver.nid:naveridlogin-android-sdk:4.2.6'

	...
}

 

 

activity_login.xml

원하는 위치에 로그인 버튼을 추가해준다.

        <com.nhn.android.naverlogin.ui.view.OAuthLoginButton
            android:id="@+id/buttonOAuthLoginImg"
            android:layout_width="match_parent"
            android:layout_height="50dp"/>

 

 

Login.kt

naver_client_id : 위에서 얻은 클라이언트 아이디 값

naver_client_secret : 위에서 얻은 클라이언트 시크릿 값

naver_client_name : 앱 이름 (사용자에게 노출되는 이름으로 알아서 설정해주면 됨)

class Login : AppCompatActivity() {

    lateinit var mOAuthLoginInstance : OAuthLogin
    lateinit var mContext: Context

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_login)
        
		//  네이버 아이디로 로그인
        val naver_client_id = ""
        val naver_client_secret = ""
        val naver_client_name = ""

        mContext = this

        mOAuthLoginInstance = OAuthLogin.getInstance()
        mOAuthLoginInstance.init(mContext, naver_client_id, naver_client_secret, naver_client_name)

        buttonOAuthLoginImg.setOAuthLoginHandler(mOAuthLoginHandler)

    }
    
    
        val mOAuthLoginHandler: OAuthLoginHandler = object : OAuthLoginHandler() {
        override fun run(success: Boolean) {
            if (success) {
//                val accessToken: String = mOAuthLoginModule.getAccessToken(baseContext)
//                val refreshToken: String = mOAuthLoginModule.getRefreshToken(baseContext)
//                val expiresAt: Long = mOAuthLoginModule.getExpiresAt(baseContext)
//                val tokenType: String = mOAuthLoginModule.getTokenType(baseContext)
//                var intent = Intent(this, )
            } else {
                val errorCode: String = mOAuthLoginInstance.getLastErrorCode(mContext).code
                val errorDesc = mOAuthLoginInstance.getLastErrorDesc(mContext)

                Toast.makeText(
                    baseContext, "errorCode:" + errorCode
                            + ", errorDesc:" + errorDesc, Toast.LENGTH_SHORT
                ).show()
            }
        }
    }

if (success){} 안에 로그인 성공했을 경우 실행할 코드를 작성해주면 된다. 

 

 

 

 

참고

"현재 ㅇㅇㅇ는 개발 중 상태입니다. 개발 중 상태에서는 등록된 아이디만 로그인할 수 있습니다." 가 뜨는 이유

 

앱을 완성해서 네이버에서 검수를 받기 전까지는 '개발중' 상태로 나오기 때문에

그때까지는 지정된 아이디만 사용할 수 있음

멤버관리 탭에서 관리자 아이디와 테스터 아이디를 등록할 수 있다. 

반응형